【发布时间】:2018-05-09 14:25:28
【问题描述】:
我尝试编写 ReactJS 代码但编译失败,我使用的是 webpack-devserver。
我的终端返回我:
./src/App.jsx 中的错误模块构建失败: SyntaxError: Unexpected token
我的 webpack.config、App.js 和 package.json 似乎对我很好。 我想我已经很好地吸引了我的模块。
这里是我的 App.js:
import React, { Component } from 'react';
import './App.css';
import { BrowserRouter as Router, Route, Link} from 'react-router-dom';
class App extends Component {
render() {
return (
<Router>
<div className="App">
<Route path='/' render={
()=> {
return (<h1> Welcome Home </h1> ) ;
}
}/>
</div>
</Router>
);
}
}
ReactDOM.render(<App />, document.getElementById('root'));
这里是我的 webpack.config.js:
const webpack = require('webpack');
module.exports = {
devtool: 'source-map',
entry: {
app: __dirname +'/src/App.jsx'
},
output: {
path: __dirname + '/dist',
filename: 'app.bundle.js'
},
module: {
rules: {
test: /\.jsx$/,
exclude: /node_modules/,
use: [
{
loader: 'babel-loader',
options: {
presets: "es2015", "stage-0", "react"]
}
}
]
},
{
test: /\.css$/,
use: [
{ loader: 'style-loader' },
{
loader: 'css-loader',
options: {
modules: true
}
}
]}
]},
(...)
};
My package.json :
devDependencies": {
"babel-cli": "^6.26.0",
"babel-core": "^6.26.3",
"babel-loader": "^7.1.4",
"babel-polyfill": "^6.26.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-es2015-node4": "^2.1.1",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-0": "^6.24.1",
"babel-register": "^6.26.0",
"react": "^16.3.2",
"react-dom": "^16.3.2",
"react-router-dom": "^4.2.2",
}
【问题讨论】:
-
你能提供行号吗?
-
我想你忘了导入
ReactDOM但这不应该导致SyntaxError -
虽然这是一个牵强的猜测,但您可能有隐藏的字符,您的编辑器不会显示它们并且它们可能导致语法错误,请尝试将您的代码粘贴到此链接 soscisurvey.de/tools/view-chars.php 以查看是否隐藏字符
标签: reactjs compilation babeljs