我用角CLI 9构建了一个应用程序,我用以下方法修补了package.json文件:
{
"scripts": {
"build:prod": "ng build --prod --subresource-integrity",
"prebuild:prod": "TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\"}' ts-node ./sitemap_generator.ts"
}
}因此,当我调用npm run build:prod时,将执行我的2个命令,编译器生成的输出文件包含SRI。
现在,我添加了appShell:
npm run ng generate appShell -- --client-project my-project
要使用appShell运行构建,我必须使用以下命令:
npm run ng run my-project:app-shell:production
主要问题
但是这个命令调用angular.json文件的angular.json配置,这不接受--subresource-integrity参数:/
如何用SRI进行appShell产品构建?
二级问题 for the braves
此appShell构建在dist/中创建一个server/文件夹。它只包含一个main.js文件。我认为它在内部与Node一起使用来构建appShell;有人能证实这一点吗?那么,我是否也可以在这个体系结构中使用Unversal来为搜索引擎做一些SSR呢?
谢谢!
发布于 2020-05-26 15:41:49
好的,我通过编辑angular.json找到了一种方法:
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "my-project",
"projects": {
"oce-training": {
"architect": {
"build": {
"configurations": {
"production": {
"subresourceIntegrity": true,
}
}
}
}
}
}
}因此,我们不能在package.json或CLI命令上重写,但这对我的情况来说已经足够了。
现在我在package.json
{
"scripts": {
"build:prod": "ng run oce-training:app-shell:production",
"prebuild:prod": "TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\"}' ts-node ./sitemap_generator.ts"
},
}我关于SSR的问题被保留下来,但它可能是另一个堆栈溢出职位;)
https://stackoverflow.com/questions/62024724
复制相似问题