如何使用 Angular appShell build 添加子资源完整性
How to add subresources integrity with Angular appShell build
我使用 Angular 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
文件的 my-project:build:production
配置,并且不接受 --subresource-integrity
参数 :/
如何修补此问题以使用 SRI 构建 AppShell 生产版本?
第二个问题勇敢者
此 AppShell 构建在 dist/
中创建了一个 server/
文件夹。它只包含一个 main.js
文件。我想它在内部与 Node 一起使用来构建 appShell ;有人可以确认吗?
那么,我是否也可以将 Unversal 与此架构一起使用来为搜索引擎做一些 SSR?
谢谢!
好的,我通过编辑 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 的问题得到保留,但它可能是另一个 Whosebug post ;)
我使用 Angular 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
文件的 my-project:build:production
配置,并且不接受 --subresource-integrity
参数 :/
如何修补此问题以使用 SRI 构建 AppShell 生产版本?
第二个问题勇敢者
此 AppShell 构建在 dist/
中创建了一个 server/
文件夹。它只包含一个 main.js
文件。我想它在内部与 Node 一起使用来构建 appShell ;有人可以确认吗?
那么,我是否也可以将 Unversal 与此架构一起使用来为搜索引擎做一些 SSR?
谢谢!
好的,我通过编辑 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 的问题得到保留,但它可能是另一个 Whosebug post ;)