【发布时间】:2016-12-18 21:31:57
【问题描述】:
我是 React + Webpack 的初学者。
我在我的 hello world 网络应用中发现了一个奇怪的错误。
我在webpack中使用babel-loader帮我把jsx转成js,但是好像babel看不懂jsx语法。
这是我的依赖项:
"devDependencies": {
"babel-core": "^6.0.14",
"babel-loader": "^6.0.0",
"webpack": "^1.12.2",
"webpack-dev-server": "^1.12.1"
},
"dependencies": {
"react": "^0.14.1"
}
这是我的webpack.config.js
var path = require('path');
module.exports = {
entry: ['webpack/hot/dev-server',path.resolve(__dirname, 'app/main.js')],
output: {
path: path.resolve(__dirname, 'build'),
filename: 'bundle.js'
},
module: {
loaders: [
{ test: /\.js$/, exclude: /node_modules/, loader: "babel-loader"}
]
}
};
这是我的app/main.js
var React = require("react");
React.render(<h1>hello world</h1>,document.getElementById("app"));
这是错误信息
ERROR in ./app/main.js
Module build failed: SyntaxError: ~/**/app/main.js: Unexpected token (2:13)
1 | var React = require("react");
> 2 | React.render(<h1>hello world</h1>,document.getElementById("app"));
| ^
at Parser.pp.raise (~/**/node_modules/babylon/lib/parser/location.js:24:13)
谢谢你们。
【问题讨论】:
-
<h1>后面的那个逗号看起来有点奇怪…… -
对于较新版本的 react,请使用新的 babel 模块:stackoverflow.com/a/53927457/6665568。它具有更好的错误消息并支持 react 的新功能。
标签: javascript reactjs webpack babeljs