Angular 2 Aot Error: 'ToastsManager' is not exported

Angular 2 Aot Error: 'ToastsManager' is not exported

在执行 AOT 时,我遇到了我正在使用的 ng2-toastr 的问题

ToastsManager' is not exported by 'node_modules\ng2-toastr\src\toast-manager.js


 'ToastModule' is not exported by 'node_modules\ng2-toastr\src\toast.module.js'.



'ToastOptions' is not exported by 'node_modules\ng2-toastr\src\toast-options.js'.

知道如何解决这个问题吗?我检查了所有提到的文件,它们有 export declare 关键字,甚至检查了这个网站

https://github.com/rollup/rollup/wiki/Troubleshooting#name-is-not-exported-by-module

您是否使用任何第三方库?如果是这样,请注意以下事项

  • 第三方库必须自己AoT编译。
  • 第三方库需要导出JS源,d.ts文件 以及所有生成的 metadata.json 个文件。

您可以通过更改汇总配置 js 文件来解决此问题。您需要对 commonjs 插件配置进行 2 处更改。

这是我修改后的。请注意,您需要添加额外的 include 和 namedExports。

      plugins: [
          nodeResolve({jsnext: true, module: true}),
          commonjs({
             include: [ 
                'node_modules/rxjs/**',
                'node_modules/ng2-toastr/**'
             ],
             namedExports : { 
                'node_modules/ng2-toastr/ng2-toastr.js': [ 'ToastModule', 'ToastsManager' ] 
             }
          }),
          uglify()
       ]