Webpack UglifyJsPlugin 不适用于 OSX 但适用于 Windows
Webpack UglifyJsPlugin doesn't work on OSX but does on Windows
当我尝试在 OSX 上编译我的 webpack 构建时它给出了一个奇怪的错误但是在 Windows 上没有,也从未发生过。
在“{”上出错:/* harmony default export */ __webpack_exports__["default"] = class {
如果您使用的是 webpack 2,您很可能依赖于某些具有 jsnext:main 配置选项的模块,以将其代码作为 ES6 模块提供。在这些情况下,webpack 2 使用它们,效果很好,直到您尝试使用无法处理 ES6 代码的 Uglify。
你可能从 Babel 加载中排除了你的 node_modules,你也应该这样做,但是为了让它工作,你需要明确地告诉 webpack 包含这个 jsnext:main 模块。
我遇到了 preact-compat 的问题,然后这样解决了:
module: {
rules: [
{
test: /\.js$/,
loader: 'babel-loader',
include: [
path.resolve(__dirname, './src'),
path.resolve(__dirname, './node_modules/preact-compat/src')
]
}
]
}
当我尝试在 OSX 上编译我的 webpack 构建时它给出了一个奇怪的错误但是在 Windows 上没有,也从未发生过。
在“{”上出错:/* harmony default export */ __webpack_exports__["default"] = class {
如果您使用的是 webpack 2,您很可能依赖于某些具有 jsnext:main 配置选项的模块,以将其代码作为 ES6 模块提供。在这些情况下,webpack 2 使用它们,效果很好,直到您尝试使用无法处理 ES6 代码的 Uglify。
你可能从 Babel 加载中排除了你的 node_modules,你也应该这样做,但是为了让它工作,你需要明确地告诉 webpack 包含这个 jsnext:main 模块。
我遇到了 preact-compat 的问题,然后这样解决了:
module: {
rules: [
{
test: /\.js$/,
loader: 'babel-loader',
include: [
path.resolve(__dirname, './src'),
path.resolve(__dirname, './node_modules/preact-compat/src')
]
}
]
}