要实现Angular网站和Angular PWA之间的代码共享,可以采用以下解决方法:
示例: 创建一个名为shared的Angular Library项目
ng generate library shared
示例: 在shared库项目的src/lib目录下创建一个名为shared.service.ts的文件,包含一个名为SharedService的服务
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class SharedService {
// 共享的代码
sharedMethod() {
console.log('Shared method');
}
}
示例: 在shared库项目根目录下运行以下命令,生成npm包
ng build shared
示例: 在网站和PWA项目的package.json文件中添加shared库项目的依赖项
"dependencies": {
"shared": "file:../shared/dist/shared"
}
示例: 在网站和PWA项目中的组件中引入并使用共享服务
import { SharedService } from 'shared';
@Component({
selector: 'app-my-component',
template: ''
})
export class MyComponent {
constructor(private sharedService: SharedService) {}
}
通过以上步骤,可以实现Angular网站和Angular PWA之间的代码共享。网站和PWA项目都可以使用共享的Angular Library,并在需要的地方引入和使用共享代码。