我想更新我的服务人员,以便我可以收到通知,问题是每次我运行ng build --prod都会覆盖我的文件。
我使用Angular CLI创建了服务工作者。如果我理解正确,则需要运行ng build --prod脚本来更新要部署的dist文件夹。
我更新了dist文件夹中的ngsw-worker.js,但是当我运行build命令时,它会被覆盖。我还必须每次都将Web.config手动添加到dist文件夹。如何在构建中进行这些更改?
答案 0 :(得分:0)
构建后,您应该复制自己选择的ngsw-worker.js
请注意,这意味着如果对angular-pwa进行升级,您的构建将变得不稳定,因为您没有更新“您的”文件,因此可能无法获得错误修复或其他改进。
因此,包括并安装fs-extra:
npm i fs-extra --save-dev
该软件包应显示在您的devDependencies中:
"fs-extra": "^8.0.1",
然后,您应该将文件复制到脚本中(将脚本保存到新目录),并将其命名为move_file.js或类似文件:
const fs = require('fs-extra');
fs.copy('./src/app/my-ngsw-worker.js', './dist/ngsw-worker.js', err => {
if (err) {
return console.error(err)
} else {
console.log('success!')
}
});
最后在使用npm命令进行ng构建后调用此命令: 节点脚本/move_file.js
这将用您的替换一个。