Webpack捆绑代码表示没有新关键字的调用类构造函数

时间:2019-01-21 11:19:18

标签: typescript webpack ecmascript-6

有很多相同的问题,没有一个主题能解决我的问题

我想构建我的docker映像,但是我不想在映像中放入node_modules,所以我将所有代码捆绑在一起使用webpack,然后删除node_modules

插件将具有默认导出,可能是ES6类或函数,因此我按照https://stackoverflow.com/a/30760236/7529562检查导出是类还是常规函数,

function isClass(v) {
  return typeof v === 'function' && /^\s*class\s+/.test(v.toString());
}

当我运行node index.js时,就可以了

但是在将所有代码捆绑到bundle.js中之后,请使用node bundle.js

TypeError: Class constructor cannot be invoked without 'new'

当前行为是什么?

投掷TypeError: Class constructor cannot be invoked without 'new'

复制存储库 https://github.com/iamwwc/webpack-isClass-report

克隆此仓库并关注自述文件

一个非常简单的仓库,没有太多代码

预期的行为是什么?

它应该毫无例外地运行TypeError: Class constructor cannot be invoked without 'new'

更重要

如果我运行的bundle.js代码没有格式(所有代码都在一行中),它​​将抛出异常

但是,如果我使用VScode Beautify扩展名来格式化js,然后运行node bundle.js,则效果很好

您可以在下面找到两个文件

https://gist.github.com/iamwwc/84c5836036ded93728542883b9650877

其他相关信息:

webpack版本:4.25.0(全局)/// ^ 4.29.0(本地)

Node.js版本:v10.13.0

操作系统:Windows 10 pro 1809

其他工具:打字稿

0 个答案:

没有答案