webpack3.X配置babel-loader时报错

发布于 2022-09-06 02:41:57 字数 2305 浏览 13 评论 0

当我在配置babel-loader的时候出现了问题,已经安装了babel-loader babel-core babel-preset-es2015 babel-preset-reacr babel-preset-env
我在本地和全局都安装了webpack

package.json


{
  "name": "1",
  "version": "1.0.0",
  "description": "",
  "main": "webpack.config.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "webpack-dev-server"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.26.0",
    "babel-env": "^2.4.1",
    "babel-loader": "^7.1.2",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "html-webpack-plugin": "^2.30.1",
    "uglifyjs-webpack-plugin": "^1.0.1",
    "webpack": "^3.8.1"
  }
}

核心问题


module: {

    rules: [{
        test: /\.(jsx|js)$/,
        use: {
            loader: 'babel-loader',
            options: {
                presets: ['es2015', 'react']
            },
            exclude: /node_modules/
        }
    }]
},

报错信息

clipboard.png

webpack.config.js整体文件

const path = require('path');

const htmlplugin = require('html-webpack-plugin')

const uglify = require('uglifyjs-webpack-plugin');

module.exports = {
    entry: {
        a: './src/a.js',
    },
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: '[name].js',
    },
    module: {
        rules: [{
            test: /\.(jsx|js)$/,
            use: {
                loader: 'babel-loader',
                options: {
                    presets: ['es2015', 'react']
                },
                exclude: /node_modules/
            }
        }]
    },
    plugins: [
        new uglify(),
        new htmlplugin({
            minify: {
                removeAttributeQuotes: true,
            },
            hash: true,
            template: './src/index.html'
        })
    ],
    devServer: {
        contentBase: path.resolve(__dirname, 'dist'),
        host: '192.168.43.205',
        compress: true,
        port: 9999
    },

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绅士风度i 2022-09-13 02:41:58

exclude写在了use里面,应该是

   {
                test: /\.(jsx|js)$/,
                use: {
                    loader: "babel-loader",
                    query: {
                        presets: ['es2015', 'react']
                    }                
                },
                exclude: /node_modules/
            }

推荐用.babelrc,webpack主目录下建一个.babelrc,
webpack

 {
                 test: /\.(jsx|js)$/,
                use: {
                    loader: "babel-loader"
                },
                exclude: /node_modules/
            }

.babelrc

{
                presets: ['es2015', 'react']
            }
终陌 2022-09-13 02:41:58

报错:webpack的config的api写错了。

问题:rules里的use写错了,它是个数组。exclude放在test同级。

test: /\.(jsx|js)$/,
use: [{
    loader: 'babel-loader',
    options: {
        presets: ['es2015', 'react']
    }
}],
exclude: /node_modules/
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文