我目前正在为角4.x编写一个库(用TypeScript编写)。必要的JavaScript包是用卷起创建的。在我添加big.js库和相应的类型(@types/big.js)之前,这一切都很好。
我是这样进口的:
import * as Big from 'big.js';
import BigJS = BigJsLibrary.BigJS;像这样使用它:
// instantiating
let bigValue = Big(value);
// example of parameter usage
private someFunction(value: BigJS) { /* some code */ }运行汇总时,我现在收到以下错误:Error: Cannot call a namespace ('Big')。我的第一个想法是将big.js添加到汇总(external: [ 'big.js' ])的外部列表中。然而,这并不能解决问题。
我可以看到BigJS库没有(默认)导出,所以我尝试使用俗语和nodeResolve汇总插件如下:
plugins: [
nodeResolve({
jsnext: true,
main: true
}),
commonjs({})
]我有种感觉我在监督一些显而易见的事情。如果有人能指出我在这里犯的错误,我会很感激的。
发布于 2017-08-22 12:25:09
调用导入的命名空间( * as Big部件)是一个与ES模块不兼容的TypeScript成语。试着这样做:
import Big from 'big.js';您仍然需要节点解析和通用插件,因为Big.js是一个commonjs模块。
https://stackoverflow.com/questions/45813630
复制相似问题