1
'DragulaModule' is not exported by node_modules\ng2-dragula\index.js
https://github.com/rollup/rollup/wiki/Troubleshooting#name-is-not-exported-by-module
app\app.module.js (13:9)
11: import { BrowserModule } from '@angular/platform-browser';
12: import { AppComponent } from './app.component';
13: import { DragulaModule } from 'ng2-dragula';
             ^
14: import { FileUploadModule } from "ng2-file-upload";

rollup.config.js

import rollup      from 'rollup'
import nodeResolve from 'rollup-plugin-node-resolve'
import commonjs    from 'rollup-plugin-commonjs';
import uglify      from 'rollup-plugin-uglify';

export default {
  entry: 'app/main.js',
  dest: 'dist/build.js',
  sourceMap: false,
  format: 'iife',
  plugins: [
      nodeResolve({jsnext: true, module: true}),
      commonjs({
        include: 'node_modules/rxjs/**',
      }),
      uglify()
  ]
}

在使用 aot 成功生成文件后,使用 Rollup 进行 tree-shaking 和 build 会出现上述错误。任何建议都受到高度赞赏。

4

2 回答 2

0

尝试在您的 rollup.config 中添加命名导出

commonjs({
      include: 'node_modules/rxjs/**',
      namedExports: {
        'node_modules/ng2-dragula/ng2-dragula.js': [ 'DragulaModule', 'DragulaService' ]
      }
    })

您可以在此处阅读有关自定义命名导出的更多信息:https ://github.com/rollup/rollup-plugin-commonjs#custom-named-exports

于 2017-02-20T10:32:48.317 回答
0

如果您使用 angular 6
将此行添加到 pollyfills.ts 解决了我的问题

(window as any).global = window;

于 2018-07-06T12:24:23.363 回答