vue2启动项目npm run dev报错 Error: Cannot find module ‘babel-preset-es2015‘ 修改以及问题原因

在尝试按需引入ElementUI并修改babel.config.js后,遇到找不到babel-preset-es2015模块的错误。解决方案是将es2015替换为@babel/preset-env,因为Babel7中已弃用es2015预设,@babel/preset-env能根据目标环境进行语法转换。这个改动确保了与最新JavaScript语法的兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错内容如下图:
在这里插入图片描述

说找不到模块 babel-preset-es2015

在报错之前,我正在修改代码,使用 ElementUI 的按需引入方式,修改了 babel.config.js 。

注意:@vue/cli 脚手架4版本已经使用了 babel7 ,所以项目中没有 .babelrc 文件,取而代之的是 babel.config.js

我的文件配置如下:

module.exports = {
  presets: [
    "@vue/cli-plugin-babel/preset",
    ["es2015", { "modules": false }] // ElementUI按需引入配置
  ],
  "plugins": [
    // ElementUI 按需引入配置项
    [
      "component",
      {
        "libraryName": "element-ui",
        "styleLibraryName": "theme-chalk"
      }
    ]
  ]
}

ElementUI 官网给出的步骤:

按需引入需要借助插件 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的。

首先,安装 babel-plugin-component:

npm install babel-plugin-component -D

然后配置 .babelrc:

{
  "presets": [["es2015", { "modules": false }]],
  "plugins": [
    [
      "component",
      {
        "libraryName": "element-ui",
        "styleLibraryName": "theme-chalk"
      }
    ]
  ]
}

当前问题解决方式

"es2015" 修改为 "@babel/preset-env"

为什么要这样修改呢?@babel/preset-env 又是什么插件呢?

@babel/preset-env 可以根据指定的执行环境提供语法转换,就是可以将更新的 js 语法转换为浏览器当前支持的语法。

官方释义:

它能让你使用最新的 JavaScript 语法而无需操心对目标环境所支持的语法设置相应的语法转换插件(以及可选的 polyfills)。

Babel 官方文档地址 <——点它

babel

官方文档 》指南 》升级到 Babel 7 目录下指出:

在这里插入图片描述

也就是说,Babel 7 中已经弃用以上预设值了,而应该直接使 @babel/preset-env 来替代。

上面就是报错的原因就是因为 Babel 7 中弃用了 babel-preset-es2015


参考文章:@babel/preset-env

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值