Angular 在ng Packager构建中包含json文件
我想将json文件导入Angular 5应用程序,然后构建一个库。我可以通过包含此代码来完成第一部分Angular 在ng Packager构建中包含json文件,angular,typescript,ng-packagr,Angular,Typescript,Ng Packagr,我想将json文件导入Angular 5应用程序,然后构建一个库。我可以通过包含此代码来完成第一部分 declare module "*.json" { const value: any; export default value; } 到typings.d.ts,但当我尝试构建它时,它失败并出现错误 Cannot find module '../../assets/locale-en.json'. 有什么办法可以修复吗?最后,我编写了脚本,将json文件转换为ts文件,并将
declare module "*.json" {
const value: any;
export default value;
}
到typings.d.ts
,但当我尝试构建它时,它失败并出现错误
Cannot find module '../../assets/locale-en.json'.
有什么办法可以修复吗?最后,我编写了脚本,将
json
文件转换为ts
文件,并将其添加到用于packagr build Inpackage.json
的脚本命令中
package.json
dccript文件
#/usr/bin/env节点
var fs=需要('fs');
var Mustache=require('Mustache');
变量区域设置=[
"嗯",,
];
/**
*使用共享区域设置JSON更新组件库的区域设置JSON
*父项目的。
*
*注意:这是一个解决方案,用于解决无法
*在组件库的
*`locale-.ts`文件。这似乎是“ng packagr”和
*可以在将来的版本中解决,或者由比我更聪明的人解决;)
*
*@param{string}locale-两个字符的区域设置字符串(例如“en”)。
*/
var updateComponentLibLocaleJSON=函数(区域设置){
locale=locale.toLowerCase().trim();
//此区域设置的组件区域设置定义文件的位置(“ng packagr”需要此文件)。
var componentLibLocaleJSONPath='./src/components/locale-'+locale+'.ts';
//通用区域设置定义文件Mustache模板的位置。
var componentLocaleJSONTemplatePath='./src/components/locale.ts.mustache';
//此区域设置的共享区域设置JSON文件的位置。
var sharedLocaleJSONPath='./src/assets/locale-'+locale+'.json';
//读取此区域设置的共享JSON,使用
//获取JSON,并将输出保存到组件库的locale JSON文件中,以便
//这个地区。
var sharedLocaleJSON=fs.readFileSync(sharedLocaleJSONPath).toString();
var componentLocaleJSONTemplate=fs.readFileSync(componentLocaleJSONTemplatePath).toString();
var updatedComponentLocaleJSON=
render(组件localejsontemplate,{localeJSON:sharedLocaleJSON});
writeFileSync(componentLibLocaleJSONPath,updatedComponentLocaleJSON);
};
for(var i=0;i
尝试更换
import * as locale from '../../assets/locale-en.json';
与
在tsconfig.lib.json中
{
"compilerOptions": {
...
"declaration": false,
...
}
你能在这里添加你的脚本吗?会是helpful@GauravMukherjee当然可以,给你
import * as locale from '../../assets/locale-en.json';
const locale = require('../../assets/locale-en.json');
{
"compilerOptions": {
...
"declaration": false,
...
}