我正在尝试将我的项目设置为使用汇总,作为angular2移动到AOT编译的一部分,但是,我得到以下问题.
Error: ‘Subject’ is not exported by node_modules\rxjs\Subject.js
这是我的rollup.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: 'client/main.js',dest: 'public/assets/js/build.js',sourceMap: false,format: 'iife',plugins: [ nodeResolve({jsnext: true,module: true}),commonjs({ include: 'node_modules/rxjs/**',include: 'node_modules/angular2-jwt/**',}),uglify() ] }
为什么会这样,我跟着angular2食谱指南?
解决方法
您需要将namedExports选项与rollup-plugin-commonjs:
https://github.com/rollup/rollup-plugin-commonjs#custom-named-exports一起使用.
此外,您可能会发现包含:’node_modules / **’而不是单个包很有用,否则您的依赖项的任何依赖都将绕过插件(在上面的配置中,您有重复的包含属性 – 也许这只是一个错字?如果需要传递多个值,请使用数组).
commonjs({ include: 'node_modules/**',namedExports: { 'node_modules/rxjs/Subject.js': [ 'Subject' ] } })