使用外部js librairies构建Angular 5包

时间:2018-06-14 15:11:48

标签: angular npm wrapper

我已经为JS图书馆创建了一个包装器,我想通过npm分享它。

所以,为此,我使用SystemJS和scriptloader来加载js lib。 它工作正常,我可以在prod模式下构建我的解决方案。

但如果我尝试使用 angular-package-builder 创建一个Angular包,我收到此错误:

   [TypeScript] ngx-pivot-table/ngx-pivot-table.component.ts(22,5): error TS2304: Cannot find name 'System'.
   [TypeScript] ngx-pivot-table/ngx-pivot-table.component.ts(23,7): error TS2304: Cannot find name 'System'.
   [TypeScript] ngx-pivot-table/ngx-pivot-table.component.ts(25,7): error TS2304: Cannot find name 'System'.

这是我的组件代码:

  ngOnInit(): void {
    System.import('script-loader!./pivot.min.js').then(() => {
      this.render();
    }); 
  }

这是我的typing.d.ts文件:

/* SystemJS module definition */
declare var System: SystemJS;

interface SystemJS {
  import: (path?: string) => Promise<any>;
}enter code here

declare var module: NodeModule;
interface NodeModule {
  id: string;
}

1 个答案:

答案 0 :(得分:1)

将typings.d.ts的内容移动到组件代码的顶部。