我正在尝试使用Webpack 2和ts-loader
导入UMD库。它曾经使用Webpack 1和Rollup(没有TypeScript),但Webpack 2在调用导入函数时附加.default
。
例如:
import canvg from 'canvg';
canvg();
转换为
var canvg_1 = require("canvg");
canvg_1.default();
我得到Uncaught TypeError: canvg_1.default is not a function
。
如何解决?
答案 0 :(得分:2)
问题出在TypeScript配置中,我在我的module: 'es2015'
中添加了tsconfig.json
并且有效。在某些情况下allowSyntheticDefaultImports: true
也可能有所帮助(在我的情况下不是必需的,@ alejandro-garcia-anglada描述的babel-plugin-add-module-exports
类似)。
{
"compilerOptions": {
"module": "es2015",
"allowSyntheticDefaultImports": true
}
}
答案 1 :(得分:1)
使用babel-plugin-add-module-exports
,您可以确保一切正常。
https://www.npmjs.com/package/babel-plugin-add-module-exports