使用 jsx 编译安装 webpack 时出错

莫吉塔巴1

我安装了 webpack,这是我的 webpack.config

 const path = require('path');
const HtmlWebPackPlugin = require('html-webpack- 
 plugin');
const MiniCssExtractPlugin = require('mini-css-extract- 
 plugin');
module.exports ={
mode:'development',
entry:'./src/scripts/app.js',
output:{path: path.resolve(__dirname,'dist') , 
filename:'bundle.js'},
module:{rules:[
    {
        test:/\.jsx?/i,
        exclude:/node_modules/i,
        use:{
            loader:'babel-loader',
            options:{
                presets:['@babel/preset-env']
            }
        }

  },
  {
    test:/\.s?css?/i,
    use:[
        {
            loader:MiniCssExtractPlugin.loader,
            options:{
                publicPath:'/dist'
            }
        },
        'css-loader',
        'sass-loader'
    ]
  }
 ]},
 plugins:[
    new HtmlWebPackPlugin({
        template:'./src/index.html',
        filename:'index.html'
    }),
    new MiniCssExtractPlugin({
        filename:'main.css'
    })
  ]
   }

这是我的 package.json

    {
 "name": "webp",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "scripts": {
 "test": "test",
 "build": "webpack"
 },
 "keywords": [],
 "author": "",
 "license": "ISC",
"devDependencies": {
"@babel/core": "^7.2.2",
"@babel/preset-env": "^7.3.1",
"babel-loader": "^8.0.5",
"css-loader": "^2.1.0",
"html-webpack-plugin": "^3.2.0",
"mini-css-extract-plugin": "^0.5.0",
"node-sass": "^4.11.0",
"sass-loader": "^7.1.0",
"webpack": "^4.29.3",
"webpack-cli": "^3.2.3"
 },
"dependencies": {
"react": "^16.8.1",
"react-dom": "^16.8.1"
}
}

但它无法编译 jsx 。给我这个错误

     class myHeading extends React.Component{
     6 |     render(){
  >  7 |         return <h1> A header will be rendered 
                            here</h1>
       |                ^
     8 |     }
     9 | }
    10 | 

我和我们课程里的朋友走的路一样,他们安装没有问题,但我不知道我的安装有什么问题。有人可以帮我吗?将不胜感激。

安德鲁亚瑟

您需要@babel/preset-react为了转译 jsx。您可以使用以下脚本通过 NPM 或 Yarn 安装它:

# NPM
npm i -D @babel/preset-react
# Yarn
yarn add -D @babel/preset-react

您还需要将预设添加到您的 babel 加载器中,如下所示:

const path = require("path");
const HtmlWebPackPlugin = require("html-webpack-plugin");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");

module.exports = {
  mode: "development",
  entry: "./src/scripts/app.js",
  output: { path: path.resolve(__dirname, "dist"), filename: "bundle.js" },
  module: {
    rules: [
      {
        test: /\.jsx?/i,
        exclude: /node_modules/i,
        use: {
          loader: "babel-loader",
          options: {
            presets: ["@babel/preset-env", "@babel/preset-react"]
          }
        }
      },
      {
        test: /\.s?css?/i,
        use: [
          {
            loader: MiniCssExtractPlugin.loader,
            options: {
              publicPath: "/dist"
            }
          },
          "css-loader",
          "sass-loader"
        ]
      }
    ]
  },
  plugins: [
    new HtmlWebPackPlugin({
      template: "./src/index.html",
      filename: "index.html"
    }),
    new MiniCssExtractPlugin({
      filename: "main.css"
    })
  ]
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用webpack和babel-loader编译时出错

来自分类Dev

webpack 2 babel已编译,但在jsx上出错

来自分类Dev

Webpack 不会使用 react 编译 jsx 文件

来自分类Dev

Webpack 2定位节点无法编译JSX

来自分类Dev

使用捆绑安装安装bcrypt时出错

来自分类Dev

使用CMake编译OpenCV项目时出错

来自分类Dev

使用OpenWRT交叉编译OpenCV时出错

来自分类Dev

使用G ++编译CPP文件时出错

来自分类Dev

使用OpenWRT交叉编译OpenCV时出错

来自分类Dev

使用Qt Creator编译CGAL时出错

来自分类Dev

使用Solr 6.0.0编译Maven时出错

来自分类Dev

使用 Maven 构建时出错:编译失败

来自分类Dev

使用Webpack编译Scss

来自分类Dev

使用pythonbrew安装Django时出错

来自分类常见问题

NodeJS-使用NPM安装时出错

来自分类常见问题

使用npm安装bcrypt时出错

来自分类Dev

使用RVM安装Ruby 2.1.3时出错

来自分类Dev

使用cpanm安装Perl模块时出错

来自分类Dev

使用NSIS安装字体时出错

来自分类Dev

使用NSolid安装本机模块时出错

来自分类Dev

使用Pip安装模块时出错

来自分类Dev

使用zef安装Twitter模块时出错

来自分类Dev

使用pypi安装scrapy时出错

来自分类Dev

使用pythonbrew安装Django时出错

来自分类Dev

使用NSIS安装字体时出错

来自分类Dev

使用composer安装CakePHP 3.0时出错

来自分类Dev

使用node.js安装时出错

来自分类Dev

尝试使用pip安装Django时出错

来自分类Dev

使用DevKit安装Rails时出错