将json嵌入ng-packagr中

Adr*_*Ber 5 json angular ng-packagr

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

  • 添加 typings.d.ts
declare module "*.json" {
    const value: any;
    export default value;
}
Run Code Online (Sandbox Code Playgroud)
  • import .json
import * as data from '../assets/data.json';
Run Code Online (Sandbox Code Playgroud)

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

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

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

ssu*_*ski 0

ng-packagr 在4.4.0版本中终于添加了对resolveJsonModule. 请参阅有关此问题的线程。

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;
}
Run Code Online (Sandbox Code Playgroud)