我正在尝试使用webpack构建一个项目并对此webpack配置做出反应:
var path = require('path');
var webpack = require('webpack');
module.exports = {
entry: [
'babel-polyfill',
'./app/less/main.less',
'./app/main.js',
'webpack-dev-server/client?http://localhost:8080'
],
output: {
publicPath: '/',
filename: 'dist/main.js'
},
debug: true,
devtool: 'source-map',
module: {
loaders: [
{
test: /\.js$/,
include: path.join(__dirname, 'app'),
loader: 'babel-loader',
query: {
presets: ['react', 'es2015']
}
},
{
test: /\.less$/,
loader: "style!css!autoprefixer!less"
},
]
}
};
我确信我也有所需的pm模块并安装了webpack,但是在运行webpack时我得到了:
Module build failed: ReferenceError: [BABEL] /Users/me/foo/app/main.js: Unknown option: foo/node_modules/react/react.js.Children
有什么想法吗?
答案 0 :(得分:189)
抱歉,我忘了安装babel-preset-react
:
$ npm install babel-preset-react --save-dev
答案 1 :(得分:0)
我只是想补充一点,我在之后发现错误我卸载了一个旧的npm模块,我不再在我的项目中使用了。这很奇怪,因为我没有在任何地方使用它 - 如何卸载不能在任何地方使用的东西会导致错误?
原来其中一个模块 sub-dependencies 有babel-preset-react,当我启动时,我错过了安装到我自己的项目中。因此,卸载该软件包也会卸载关键的babel-preset-react!
一年多来,我的反应应用程序可以编译,这要归功于另一个软件包的子依赖...
所以,是的,安装babel-preset-react为我解决了这个问题。