我正在从 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}`
);
});
}