我第一次使用Rollup(跟随angular.io的例子),我收到了这个错误:
'authHttp'不会被'node_modules / angular2-jwt / angular2-jwt.js'
导出来自app.module.js中的这一行:
13:从'angular2-jwt / angular2-jwt'导入{AuthHttp,AuthConfig};
文档说您可以通过在rollup-config.js文件中指定自定义命名导出来纠正此问题,如下所示:
commonjs({
namedExports: {
// left-hand side can be an absolute path, a path
// relative to the current directory, or the name
// of a module in node_modules
'node_modules/my-lib/index.js': [ 'named' ]
}
})
这是我的rollup-config.js文件的相关部分:
plugins: [
nodeResolve({jsnext: true, module: true}),
commonjs({
include: 'node_modules/rxjs/**',
namedExports: {
'node_modules/angular2-jwt/angular2-jwt.js': [ 'AuthHttp' ]
}
}),
然而,这没有任何影响,错误仍然存在。有关如何纠正此问题的任何建议吗?
答案 0 :(得分:3)
试试这个,让我知道你是怎么做的:
汇总-config.js
commonjs({ include: ['node_modules/rxjs/**',
'node_modules/angular2-jwt/angular2-jwt.js'],
..
})
你还做过npm i -D rollup-plugin-node-resolve
吗?
jsnext显示在rollup-plugin-node-resolve文档中 here
关于在issues。
中的下一个版本中将其删除,也有一个神秘的评论rollup wiki docs对于 jsnext 而言似乎很奇怪。 他们只是说它被pkg.module取代,而我自己并没有真正澄清事情。那么可能删除标记或切换为错误?
有一个汇总starter-project配置文件。它引用目标数组中的 pkg.module 。
还有一个rollup-starter-lib配置示例。
这是汇总guide
<强>更新强>
命名导出似乎是rollup-plugin-commonjs的一部分
npm i -D rollup-plugin-commonjs
通常,您可以同时使用此插件 rollup-plugin-node-resolve,以便您可以捆绑您的CommonJS node_modules中的依赖项。
`// explicitly specify unresolvable named exports
// (see below for more details)
namedExports: { './module.js': ['foo', 'bar' ] }, // Default: undefined`
您是否也按照here正确设置了 tsconfig-aot.json ?