如何在 Angular Universal 中运行缓存破坏命令? 我试图运行npm run build:ssr --output-hashing=all
但它没有改变/添加任何东西。
PACKAGE.json
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"compile:server": "webpack --config webpack.server.config.js --progress --colors",
"serve:ssr": "node dist/server",
"build:ssr": "npm run build:client-and-server-bundles && npm run compile:server",
"build:client-and-server-bundles": "ng build --prod && ng run sample-project:server:production --bundleDependencies all"
},
当你运行npm run build:ssr --output-hashing=all
时,npm 只会执行npm run build:ssr
,并且不会考虑提供的选项。
为此,请在package.json
中添加以下脚本并运行npm run build:ssr:outhashall
...
"scripts" {
"build:ssr:outhashall": "npm run build:client-and-server-bundles:outhashall && npm run compile:server",
"build:client-and-server-bundles:outhashall": "ng build --prod --output-hashing=all && ng run sample-project:server:production --bundleDependencies all"
}
...
评论要点:
请注意,--output-hashing=all
将生成具有哈希名称的构建文件,因此如果您在项目中进行了一些更改,那么每次构建后都会看到不同的文件名。
因此,在部署应用程序时,您需要删除现有文件并将新文件放在部署文件夹中。