use*_*ert 2 javascript reactjs webpack
我正在学习 React 和 Flux,在第一课中,教程让我失败了。
本教程立即在“npm start”上中断,并出现以下错误:
ERROR in ./src/js/main.js
Module parse failed: /Users/me/Projects/egghead-flux/src/js/main.js Unexpected token (4:16)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (4:16)
at Parser.pp$4.raise (/Users/me/Projects/egghead-flux/node_modules/acorn/dist/acorn.js:2221:15)
Run Code Online (Sandbox Code Playgroud)
它似乎不明白ReactDOM.render(<App />, document.getElementById('main'));我假设解析 JSX<App />部分失败。
以前有人遇到过这个问题吗?删除/重新安装节点模块不会执行任何操作。视频中是否缺少某些设置步骤?
Main.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/app';
ReactDOM.render(<App />, document.getElementById('main'));
Run Code Online (Sandbox Code Playgroud)
应用程序.js
import React from 'react';
export default class App extends React.Component {
render(){
return <h1>Flux</h1>
}
}
Run Code Online (Sandbox Code Playgroud)
webpack.config.js
module.exports = {
entry: './src/js/main.js',
output:{
path:'./dist',
filename: 'bundle.js',
publicPath: '/'
},
devServer: {
inline: true,
contentBase: './dist'
},
module: {
loaders: [
{
test: '/\.jsx?$/',
exclude: /(node_modules|bower_components)/,
loader: 'babel',
query:{
presets: ['es2015', 'react']
}
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
包.json
{
"name": "egghead-flux",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "webpack-dev-server"
},
"author": "",
"license": "ISC",
"dependencies": {
"flux": "^3.1.0",
"react": "^15.3.2",
"react-dom": "^15.3.2",
"react-router": "^3.0.0"
},
"devDependencies": {
"babel": "^6.5.2",
"babel-loader": "^6.2.7",
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
"webpack": "^1.13.3",
"webpack-dev-server": "^1.16.2"
}
}
Run Code Online (Sandbox Code Playgroud)