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')
            ]
        }
    ]
}