我是第一次使用Rollup(跟随angular.io的例子),我收到了这个错误:
'node_modules/angular2-jwt/angular2-jwt.js'不输出'AuthHttp'
从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' ]
}
})
Run Code Online (Sandbox Code Playgroud)
这是我的rollup-config.js文件的相关部分:
plugins: [
nodeResolve({jsnext: true, module: true}),
commonjs({
include: 'node_modules/rxjs/**',
namedExports: {
'node_modules/angular2-jwt/angular2-jwt.js': [ 'AuthHttp' ]
}
}),
Run Code Online (Sandbox Code Playgroud)
但是,这没有任何影响,错误仍然存在.有关如何纠正此问题的任何建议?
试试这个,让我知道你进展如何:
rollup-config.js
commonjs({ include: ['node_modules/rxjs/**',
'node_modules/angular2-jwt/angular2-jwt.js'],
..
})
Run Code Online (Sandbox Code Playgroud)
你npm i -D rollup-plugin-node-resolve也做了吗?
jsnext 显示在 此处的rollup-plugin-node-resolve 文档中。
在问题中也有一个关于在下一个版本中删除它的神秘评论。
然而,汇总wiki 文档对于jsnext来说似乎也很奇怪。他们只是说它被pkg.module取代,这本身并不能真正为我澄清事情。那么也许删除标志或切换到 false?
有一个汇总启动项目配置文件。它引用目标数组中的pkg.module 。
还有一个 rollup-starter-lib配置示例。
这是汇总指南
更新:
命名导出似乎是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`
Run Code Online (Sandbox Code Playgroud)
您是否也按照此处正确设置了tsconfig-aot.json?
| 归档时间: |
|
| 查看次数: |
972 次 |
| 最近记录: |