将json嵌入ng-packagr中

时间:2018-01-13 12:58:07

标签: json angular ng-packagr

在一个有角度的cli项目中,我设法像这样嵌入了json

  • 添加到typings.d.ts
declare module "*.json" {
    const value: any;
    export default value;
}
  • import .json
import * as data from '../assets/data.json';

但是如果我想用ng-packagr将它编译成Angular 5模块,我会收到以下错误:

  

错误在... / .ng_pkg_build / my-module / ts / src / app / my-module.module。   ts:28:33:找不到模块'../ assets / data.json'。

有没有人遇到过这个问题并且知道如何解决它?

1 个答案:

答案 0 :(得分:0)

版本4.4.0中的

Ng-packagr最终增加了对resolveJsonModule的支持。看到thread遇到此问题。

import { Component, Input } from '@angular/core';
import jsonData from './angular.component.json';

@Component({
  selector: 'ng-component',
  template: '<h1>{{title}}</h1>{{data}}',
  styleUrls: ['./angular.component.scss']
})
export class AngularComponent {
  @Input()
  title = 'Angular';

  data = jsonData;
}