6

angular2 の AOT コンパイルへの移行の一環として、ロールアップを使用するようにプロジェクトを設定しようとしていますが、次の問題が発生しています。

エラー: 「件名」は 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クックブックガイドに従っていますが、なぜこれが起こっているのですか?

4

3 に答える 3

11

namedExportsrollup-plugin-commonjs でオプションを使用する必要があります: https://github.com/rollup/rollup-plugin-commonjs#custom-named-exports

また、include: 'node_modules/**'個々のパッケージではなく、依存関係の依存関係がプラグインをバイパスするため、便利だと思うかもしれません (上記の構成では、includeプロパティが重複しています - おそらくそれはタイプミスですか? 複数の値を渡す必要がある場合は、配列)。

commonjs({
  include: 'node_modules/**',
  namedExports: {
    'node_modules/rxjs/Subject.js': [ 'Subject' ]
  }
})
于 2016-10-10T12:20:23.933 に答える