Angular:直接在生产版本中无法导入json文件

时间:2018-11-05 12:11:19

标签: angular

我必须直接导入一个json文件,该文件可以与ng serve一起正常工作,但是在ng build --prod时会产生以下错误

无法读取未定义的属性“ Symbol(Symbol.iterator)”中的错误

这是我的代码:

app.module.ts:

import * as cfgData from '../assets/config/config.json';

...

export function getWhiteList() {
  let x = (<any>cfgData).apiServer.whiteListDomains;
  return x;
}

  imports: [
     ...
     JwtModule.forRoot({
       config: {
        tokenGetter: tokenGetter,
        whitelistedDomains:getWhiteList()
       }
    })
  ],
  ...

然后我创建了一个名为 typings.d.ts 的文件,其内容如下:

declare module "*.json" {
    const value: any;
    export default value;
}

在此我收到一条错误消息,指出已经声明了值。

tsconfig.json 中的编译器选项中添加:

"compilerOptions": {
    "resolveJsonModule": true,
    ...
    "types": [
          "node"
       ],
        "typeRoots": [
          "node_modules/@types",
          "src/typings.d.ts"
        ],
    ...
  }

并在 tsconfig.spec.json 中将 typings.d.ts 添加到文件:

"files": [
    "test.ts",
    "polyfills.ts",
    "typings.d.ts"
  ],

自两天以来,我一直在努力解决这一问题。 Angular是我使用过的最令人沮丧的语言。

有人有什么想法吗?

===============================

我不知道自己做了什么,但现在还不能与常规ng服务一起使用。

0 个答案:

没有答案