• webpack.config.js配置遇到Error: Cannot find module '@babel/core'&&Cannot find module '@babel/plugin-transform-react-jsx' 问题


    下文是网上找到的方法,是因为版本冲突的原因,参照后安装7版本解决

    cnpm install -D babel-loader@7 babel-core babel-preset-env

     

    一、 问题描述

    在配置webpack.config.js自动打包的时候,出现Error: Cannot find module '@babel/core'错误
    最初以为是babel-core没有安装上。重装了好几遍babel-core还是不行。对照以前的项目,发现babel-loader的版本不一样,之前的是@7.1.5版本,而现在是@8.0.0版本。

    二、 解决方法

    带着半信半疑的心情安装回@7.1.5版本

    npm uninstall babel-loader
    npm install babel-loader@7.1.5

    npm run build发现成功了!
    有点纳闷,距离上次安装不过才几天,就更新成babel-loader@8.0.0。而且还不支持原来的配置了。网上没有找到方法解决,原理也还不清楚。先mark一下,以后解决了@8.0.0的这个问题再回来补充。

    附上webpack.config.js代码:

    var webpack = require('webpack');
    var path = require('path');
    var HtmlWebpackPlugin = require('html-webpack-plugin');
    
    module.exports = {
        entry: __dirname + '/client/root/index', //入口文件
        output: {
            path: path.join(__dirname + '/dist'),
            filename: 'bundle.js',  //打包后文件名
        },
    
        module: {
            loaders : [{
                test :/(.jsx|.js)$/,
                exclude : /node_modules/,
                loader :'babel-loader',
                options:{
                    presets:[
                        "env", "react", 
                    ]
                }
            },
            {
                test: /.css$/,
                loader: 'style-loader!css-loader'
            },
            {
                test: /.less$/,
                loader: 'style-loader!css-loader!less-loader'
            },
            {
                test: /.(jpg|.png)$/,
                loader: 'url-loader'
            }
            ]
        },
    
        plugins: [
            //打包引用模板
            new HtmlWebpackPlugin({
                template: __dirname + '/client/views/template.html'
            }),
        ]
    }

    关于babel-loader@8.0.0出现错误原因已经找到,感谢@Sky__zt的回答.
    (忘了去看官方文档了)

    官方默认babel-loader | babel 对应的版本需要一致: 即babel-loader需要搭配最新版本babel

    具体请参考:《npm_babel-loader》

    总结:

    两种解决方案:

    1. 回退低版本

    npm install -D babel-loader@7 babel-core babel-preset-env

    1. 更新到最高版本:

    npm install -D babel-loader @babel/core @babel/preset-env webpack

  • 相关阅读:
    C#调用WebService
    在asp.net中Bind和Eval的区别详解
    详细说明WebService特性
    Remoting技术简介
    Web Service是如何工作的
    C#面试题
    创建一个简单的Web Service
    innerHTML属性导致未知的运行时错误ie bug
    一些想法:关于备份
    数据库考试中常见题分析:关系代数中的除法运算
  • 原文地址:https://www.cnblogs.com/xtjatswc/p/10427476.html
Copyright © 2020-2023  润新知