【发布时间】:2016-07-31 05:58:02
【问题描述】:
阅读了小说中有关 webpack 配置的 SO 帖子后,我仍然无法通过 module parse failed 错误。
package.json(不是全部)
"dependencies": {
"babel-core": "^6.7.6",
"babel-loader": "^6.2.4",
"babel-preset-es2015": "^6.6.0",
"babel-preset-es2015-webpack": "^6.4.0",
"babel-preset-react": "^6.5.0",
"babel-preset-stage-0": "^6.5.0",
"react": "^0.14.6",
"react-dom": "^0.14.6",
"react-hot-loader": "^1.3.0",
"webpack": "^1.12.14",
"webpack-dev-middleware": "^1.6.1",
"webpack-hot-middleware": "^2.10.0"
}
结构
package.json
node_modules
.babelrc
client/
webpack.config.js
.babelrc # duplicated just for shits and giggles...
src/
index.jsx
components/
server/
index.js
//more stuff
client/webpack.config.js
var path = require('path'),
webpack = require('webpack');
module.exports = {
devtool: 'eval',
context: __dirname + '/src',
entry: [
'webpack-hot-middleware/client',
__dirname + '/src/index.jsx'
],
output: {
path: __dirname + '/public',
filename: 'bundle.js',
publicPath: 'http://localhost:12345'
},
plugins: [
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin()
],
module: {
loaders: [
{
test: /\.jsx$/,
include: __dirname + '/src',
loaders: ['react-hot', 'babel-loader?presets[]=react,presets[]=es2015,presets[]=stage-0'],
query: {
plugins: ['./babelRelayPlugin'],
presets: ['es2015', 'react']
}
}
]
}
};
.babelrc
{ "presets": ["react", "es2015", "stage-0"] }
client/src/index.jsx
import React from 'react';
import ReactDOM from 'react-dom';
import Layout from './src/components/layout.jsx';
ReactDOM.render(<Layout />, document.querySelector('#app'));
一直在修改 webpack 配置,无法通过 babel 转译 es6。
其他 SO 帖子中反复出现的问题
-
Loaders数组必须在module属性内 - 将
presets数组添加到您的.babelrc npm install --save babel-preset-whatever-
hot-loader已折旧,请使用babel-preset-react-hmre - 加载器从右到左,从上到下加载
不知所措。
【问题讨论】:
-
您的
package.json中似乎有一个尾随, -
复制粘贴不正确
-
你能把你的项目推送到 GitHub 上吗?更容易看出问题所在。我有关于配置 Babel 6 here 的笔记。希望这会有所帮助。
标签: node.js reactjs webpack babeljs webpack-hot-middleware