JS 模块给出错误“不是构造函数”

问题描述 投票:0回答:0

我正在从 node.js 应用程序中删除 babel,但我遇到了一个问题,其中一个文件正在使用显然只为 es5 构建的 jssoup。该脚本抛出以下错误:

类型错误 jssoup__WEBPACK_IMPORTED_MODULE_1__ 不是构造函数

这里是相关的代码部分:

import JSSoup from 'jssoup';

...然后再往下...

const soup = new JSSoup(text);

这个文件是否必须由 babel 之类的东西转译,或者有什么方法可以通过 monkeypatch 让它工作吗?

更新:如果这有助于解释节点服务器的设置 - 这是 pacakge.json 在开发环境中启动服务器的命令:

"start:nodemon": "npx nodemon --exec babel-node --presets=@babel/preset-env ./server/server.js --watch server",

这是 server.js 中启动 webpack-dev-server 的部分:

if (process.env.NODE_ENV === 'development'){
  logInfo('Server is running in development mode');
  const config = require('../webpack.config.babel.dev');
  const WebpackDevServer = require('webpack-dev-server');
  const compiler = webpack(config);
  // 'open' controls whether to automatically open a new browser tab.
  const devServerOptions = {...config.devServer, open: false};
  const devServer = new WebpackDevServer(devServerOptions, compiler);
  devServer.startCallback(() => {
    logInfo(
      `webpack-dev-server is listening on port ${devServerOptions.port}`
    );
  });
}
javascript webpack ecmascript-6 ecmascript-5
© www.soinside.com 2019 - 2024. All rights reserved.