正如标题所示,根据文档,使用新的Babel 6,我们现在应该传递插件/预设,因为默认情况下它不会处理我们的代码。
因此,我在我的项目目录中创建了一个.babelrc文件,其中包含以下内容(就像文档中一样)
{
"presets": ["es2015"]
}
然而这种方法行不通。 由于我正在使用webpack和babel-loader,我找到了一个不同的答案,建议在webpack配置中添加类似以下内容:
{
test: /\.js$/, exclude: /node_modules/, loader: "babel", query: {
presets: ["es2015"]
}
}
这样运行是有效的。所以我的问题是,这是新版Babel中的一个错误还是我错过了明显的错误?我曾经使用Babel 5和Webpack,并且我能够毫无问题地在 .babelrc 中指定babel配置...
提前感谢
编辑:仅当在Babel加载器之前运行eslint加载器时才会出现问题。不过我刚刚升级到最新的babel-loader 6.2.0,一切都正常了。
module: {
preLoaders: [
{ test: /\.js$/, exclude: /node_modules/, loader: "eslint"}
],
loaders: [
{ test: /\.js$/, exclude: /node_modules/, loader: "babel"},
{ test: /\.css$/, exclude: /node_modules/, loader: "style!css!postcss"}
babel
之外的其他加载器?你能发布你的webpack.config.js
吗? - dreyescateslint
引入其中会导致这个错误。只需删除eslint-loader
,您就会发现它可以与.babelrc
一起正常工作。我并不是提出这个作为解决方案,只是想指出问题可能来自哪里。 - dreyescat