我有一个很好的webpack设置,但是当我导入一些用ES6编写的第三方库时,我看到了一个UglifyJS发出的错误。以下是node-postgres
的示例:
module.exports = {
prepareValue: function prepareValueWrapper (value) {
// this ensures that extra arguments do not get passed into prepareValue
// by accident, eg: from calling values.map(utils.prepareValue)
return prepareValue(value)
},
normalizeQueryConfig,
postgresMd5PasswordHash,
md5
}
以下是它在ES5中的外观:
module.exports = {
prepareValue: function prepareValueWrapper (value) {
// this ensures that extra arguments do not get passed into prepareValue
// by accident, eg: from calling values.map(utils.prepareValue)
return prepareValue(value)
},
normalizeQueryConfig: normalizeQueryConfig,
postgresMd5PasswordHash: postgresMd5PasswordHash,
md5: md5
}
当UglifyJS处理原始代码时,我看到了这个错误:
来自UglifyJs的proxy.js中的错误
意外的令牌:punc(,)[proxy.js:382,22]
指向上面的代码。
在我编译TypeScript项目时,我怀疑我需要通过Webpack流程中的一些转换程序处理第三方库代码,然后在捆绑之前将它们转换为ES5。
这是我的webpack.config.js
:
const path = require('path');
const root = (dir) => {
return path.resolve(__dirname, dir);
};
module.exports = {
entry: './src/main.ts',
module: {
rules: [
{
test: /\.ts$/,
use: 'ts-loader',
exclude: /node_modules/
}
]
},
resolve: {
extensions: [".ts", ".js"],
modules: [root('node_modules'), root('src')]
},
output: {
filename: 'proxy.js',
path: path.resolve(__dirname, 'build')
},
target: 'node'
};
我该怎么做?