我使用新的CLI 6.x版本创建了一个库。我还在其中创建了一个Angular服务,并希望在开发和生产环境中使用不同的URL。因此,我在我的库文件夹中创建了一个environment.ts
文件和一个environment.prod.ts
文件。
//dev
export const environment = {
production: false,
url: 'dev-url'
};
//prod
export const environment = {
production: true,
url: 'prod-url'
};
我还在angular.json
文件中添加了'fileReplacements'属性:
"configurations": {
"production": {
"fileReplacements": [{
"replace": "projects/tk-shared/src/environments/environment.ts",
"with": "projects/tk-shared/src/environments/environment.prod.ts"
}],
"project": "projects/tk-shared/ng-package.prod.json"
}
}
使用 ng build tk-shared
编译库并使用 dev
设置可以正常工作,但是当使用 ng build --prod tk-shared
编译时,会出现以下错误:
Schema validation failed with the following errors: Data path "" should NOT have additional properties(fileReplacements).
我的建议是,原因在于angular.json
中的tk-shared
具有 projectType: "library"
属性。
不管怎样,是否可以在库中使用环境文件?
initializeApp
函数。所有细节都在他们的代码中。玩得开心! - R. Richards