要解决Angular不会对包含客户端和服务器代码的nx lib进行摇树的问题,可以按照以下步骤进行操作:
tsconfig.lib.json
的文件,并将以下内容添加到文件中:{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "./dist/out-tsc",
"types": ["node"]
},
"angularCompilerOptions": {
"enableIvy": false
},
"include": ["**/*.ts"],
"exclude": ["**/*.server.ts"]
}
上面的配置文件将禁用Ivy编译器(即Angular新一代编译器),并排除所有包含.server.ts
扩展名的文件。
package.json
文件,将build
脚本更新为使用新创建的tsconfig.lib.json
文件。例如:"scripts": {
"build": "nx build my-lib -c=tsconfig.lib.json"
}
上面的示例是假设你的nx lib项目名称为my-lib
,请根据实际情况进行替换。
npm run build
或ng run my-lib:build
命令编译你的nx lib项目。这样,摇树优化将会应用于客户端代码,而服务器端代码将不会被优化。请注意,上述步骤假设你的nx lib项目结构是标准的Angular项目结构。如果你的项目结构有所不同,请根据实际情况进行调整。
下一篇:Angular不会更新组件。