Я настраиваю Webpack для своего проекта React с помощью npm, но столкнулся с ошибкой, которую не могу устранить. Надеюсь, кто-нибудь здесь сможет мне помочь.
Когда я пытаюсь запустить команду npm run build
, я сталкиваюсь со следующей ошибкой:
Вот моя текущая конфигурация Webpack (webpack.config.js
):
Я пытаюсь собрать свое приложение React с помощью Webpack. Я настроил конфигурацию Webpack для обработки файлов JavaScript и CSS и использую Babel для транспиляции современного синтаксиса JavaScript и React JSX. Однако я постоянно сталкиваюсь с ошибкой в процессе сборки.
assets by status 364 bytes [cached] 1 asset
./src/index.js 224 bytes [built] [code generated] [1 error]
ERROR in ./src/index.js 7:12
Module parse failed: Unexpected token (7:12)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loadersers
| const rootElement = document.getElementById('root');
| const root = createRoot(rootElement);
> root.render(<App />);
|
webpack 5.93.0 compiled with 1 error in 357 ms
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const isDevelopment = process.env.NODE_ENV !== 'production';
module.exports = {
mode: isDevelopment ? 'development' : 'production',
devtool: isDevelopment ? 'eval-source-map' : 'source-map',
entry: path.resolve(__dirname, 'src', 'index.js'),
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js',
},
resolve: {
extensions: ['.js', '.jsx', 'json'],
},
devServer: {
contentBase: path.resolve(__dirname, 'dist'),
compress: true,
port: 8080,
},
plugins: [
new HtmlWebpackPlugin({
template: path.resolve(__dirname, 'public', 'index.html'),
}),
],
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
},
},
{
test: /\.(css)$/,
exclude: /node_modules/,
use: ['style-loader', 'css-loader'],
},
],
},
};
{
"name": "01-github-explorer",
"version": "1.0.0",
"main": "src/index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "cross-env NODE_ENV=production webpack",
"dev": "webpack server"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"dependencies": {
"@babel/preset-react": "^7.24.7",
"react": "^18.3.1"
},
"devDependencies": {
"@babel/cli": "^7.24.8",
"@babel/core": "^7.25.2",
"@babel/polyfill": "^7.12.1",
"@babel/preset-env": "^7.25.3",
"babel-loader": "^9.1.3",
"babel-polyfill": "^6.26.0",
"cross-env": "^7.0.3",
"css-loader": "^7.1.2",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.6.0",
"style-loader": "^4.0.0",
"url-loader": "^4.1.1",
"webpack": "^5.93.0",
"webpack-cli": "^5.1.4",
"webpack-dev-server": "^5.0.4"
}
}
module.exports = {
presets: [
'@babel/preset-env',
'@babel/preset-react',
],
};
Фадей
Вопрос задан24 апреля 2024 г.