Я пытаюсь настроить реактивный проект с webapck4 и babel7, и я получаю следующую ошибку.
ERROR in ./src/index.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
SyntaxError: /home/ritesh/myprojects/testproj/reduxspa/js/jsapp/src/index.js: Unexpected token (7:2)
5 |
6 | ReactDOM.render(
> 7 | <div>{title}</div>,
| ^
8 | document.getElementById('app')
9 | );
10 |
at Parser.raise (/home/ritesh/myprojects/testproj/reduxspa/js/jsapp/node_modules/@babel/parser/lib/index.js:3939:15)
Ниже приведены мои настройки и сведения о файле, а jsapp - моя корневая папка.
Моя операционная система Ubuntu16.
dist / index.html
<!DOCTYPE html>
<html>
<head>
<title>test html</title>
</head>
<body>
<div id='app'></div>
<script type="text/javascript" src="./bundle.js"></script>
</body>
</html>
src / index.js
import React from 'react';
import ReactDOM from 'react-dom';
const title = 'My Minimal React Webpack Babel Setup';
ReactDOM.render(
<div>{title}</div>,
document.getElementById('app')
);
webpack.config.js
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
publicPath: '/',
path: path.resolve(__dirname, 'dist'),
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
//use: ['babel-loader']
loader:"babel-loader",
},
]
},
resolve: {
extensions: ['*', '.js', '.jsx']
},
};
.babelsrc
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
]
}
package.json
{
"name": "jsapp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "webpack-dev-server",
"build": "webpack"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@babel/core": "^7.1.0",
"@babel/preset-env": "^7.1.0",
"@babel/preset-react": "^7.0.0",
"babel-loader": "^8.0.2",
"webpack": "^4.20.2",
"webpack-cli": "^3.1.1",
"webpack-dev-server": "^3.1.9"
},
"dependencies": {
"react": "^16.5.2",
"react-dom": "^16.5.2"
}
}
Я не уверен, что я делаю неправильно.Я пытался проверить разные ответы также в stackoverflow.Но я все еще не могу решить эту проблему.