除了能够重用 .babelrc 之外,是否还有理由将 Babel 预设存储在
文件在另一个项目中?.babelrc
而不是 webpack.config.js
中
我有一个使用以下 .babelrc
文件可以正常工作的应用程序:
{
"presets": ["es2015", "stage-0","react"]
}
我将应用程序更改为另一个没有 .babelrc
文件的 Webpack 结构。这是webpack.config.js
:
module: {
loaders: [
{
test: /(\.js|\.jsx)$/,
exclude: /(node_modules)/,
loader: 'babel',
query: { presets: ['es2015', 'stage-0', 'react'] }
},
奇怪的是,应用程序在解析我的 server.js
文件中的 JSX 和 import
关键字时停止工作。仅当我添加回 .babelrc 文件时它才有效。谁能解释一下为什么它只适用于 .babelrc
文件?
最佳答案
在 webpack.config.js
中将加载器更改为 babel-loader
,在此之前您需要使用安装它们
npm install babel-loader babel-core babel-preset-es2015 --save-dev
还要确保您已经安装了 babel-preset-react
命令
webpack.config.js
module: {
loaders: [
{
test: /\.js?$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
query: {
presets: ['react', 'es2015', 'stage-0'],
plugins: ['react-html-attrs', 'transform-decorators-legacy'],
}
}
]
},
关于reactjs - Babel 预设在 .babelrc 文件中工作,但在 Webpack 配置文件中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39894147/