2017-02-16 99 views

回答

1

如果您使用的WebPack 2,有机会,你必须依赖于某些模块具有jsnext:主要配置选项提供了代码ES6模块。在这些情况下,webpack 2使用它们,这很好,直到你尝试使用Uglify,它不能处理ES6代码。

您可能不包括您的node_modules从Babel加载,以及您应该,但为了这个工作,您需要显式地告诉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') 
      ] 
     } 
    ] 
} 
+0

嗨,这听起来是正确的。我自己做了一个,做了一个(尴尬的)正则表达式,如下所示:'exclude:/ node_modules \ /(?!@ company \/private-module)/' –

+1

是,如果您使用“include”而不是像我的代码示例,它将只使用srcPath中的代码(将其更改为源文件所在的位置),从node_modules中汲取模块的路径,您需要“Babelize” –

相关问题