我有一个Angular应用程序,它有一个配置文件。它在src/data/configuration.json
中。当我使用ng build --prod
构建应用程序时,我在dist文件夹中看不到配置文件。如果dist文件夹中没有文件,Angular如何知道将配置拉到哪里,特别是当dist文件夹的内容独立托管在S3存储桶中或使用nginx托管时?
发布于 2019-03-12 22:36:38
从Angular 7开始,导入的.json文件将内置到您的dist中。这是2.9版及更高版本的TypeScript的一个特性。
但是在Angular 5中,Typescript版本早于2.9 -你需要显式地声明你想要包含在构建的发行版中的.json文件。
您需要按如下方式更新angular.json
文件:
"assets": [
"src/assets",
"src/data/configuration.json"
]
然后允许将json
模块导入到typings.d.ts
文件中,以防止打字错误:
declare module "*.json" {
const value: any;
export default value;
}
现在,在您的.ts源代码中像这样导入.json文件:
import * as myJson from 'src/data/configuration.json';
该文件现在应该包含在构建时的dist/
目录中。
有关如何消费json文件Importing json file in TypeScript的更多详细信息,请参阅此答案。
https://stackoverflow.com/questions/55131333
复制