Vue cli3\4 babel配置转译解决浏览器兼容问题

vue cli快速创建vue项目详细过程 一、vue cli的介绍和安装 Vue cli 是一个基于 Vue.js 进行快速开发的完整系统。 有三个组件: CLI:@vue/cli 全局安装的 npm 包,提供了终端里的vue命令(如:vue create 、vue serve 、vue ui 等命令) CLI 服务:@vue/cli-service是一个开发环境依赖。构建于 webpack 和 webpack-dev-server 之上(提供 如:serve、build 和 inspect 命令) CLI 插件:给Vue 项目提供可选功能的 阅读详情

什么是babel?

babel官网介绍戳戳戳:https://www.babeljs.cn/docs/

Babel 是一个 JavaScript 编译器,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,
以便能够运行在当前和旧版本的浏览器或其他环境中。

Babel 做的事情:

语法转换
通过 Polyfill 方式在目标环境中添加缺失的特性(通过第三方 polyfill 模块,例如 core-js,实现)
源码转换 (codemods)

主要配置

vue-cli3.x/ 4.x 版本的项目初始化时会引入一个插件,名为@vue/cli-plugin-babel 默认已引入(默认使用 Babel 7 + babel-loader + @vue/babel-preset-app,无需再单独引入babel-loader等转换插件)

在babel.config.js文件默认如下配置:

module.exports = {
 	 presets: [
    	'@vue/cli-plugin-babel/preset'
	]
}

具体步骤如下:
1.需要安装的依赖:

npm i @babel/register @babel/preset-env -D
npm i @babel/polyfill

@babel/plugin-transform-runtime的大多数应用场景是在写第三方库时来使用,这样可以避免影响到使用者的JavaScript环境,造成全局污染。(可不进行安装和babel.config.js里相关配置)

npm i @babel/plugin-transform-runtime -D
npm i @babel/runtime-corejs3
  • 在babel.config.js配置如下:

     module.exports = {
     	  presets: [
     	    '@vue/cli-plugin-babel/preset',
     	    [
     	      '@babel/preset-env',
     	      {
     	        'useBuiltIns': 'entry',
     	        'corejs': 3 // 指定 corejs 的版本,如果package.json没有core-js,还需要另外安装
     	      }
     	    ]
     	  ],
     	  "plugins": [ // 如未用到@babel/plugin-transform-runtime可不配置
     	    [
     	      "@babel/plugin-transform-runtime",
     	      {
     	        "corejs": 3 // 指定 runtime-corejs 的版本,目前有 2 3 两个版本
     	      }
     	    ]
     	  ]
     }
    
  • 在main.js里引入

     import 'core-js/stable';
     import 'regenerator-runtime/runtime';
    

*此处需注意:babel.config.js配置中的useBuiltIns 的配置,有三个可选项 [false,‘entry’,‘usage’]

  • “useBuiltIns”: false - - - 此时不对 polyfill 做操作。如果引入 @babel/polyfill,则无视配置的浏览器兼容,引入所有的 polyfill
  • “useBuiltIns”: “entry”,“corejs”: 2, - - - 根据配置的浏览器兼容,引入浏览器不兼容的 polyfill。
    需要在入口文件main.js手动添加 import ‘@babel/polyfill’,会自动根据 browserslist 替换成浏览器不兼容的所有 polyfill。
    如果这里指定 core-js 的版本是 “corejs”: 3, 则main.js中 import ‘@babel/polyfill’ 需要改成上面的方式(即本文使用方式)
  1. 默认情况下,babel-loader会忽略所有 node_modules 中的文件,需要利用vue-cli的配置:
    transpileDependencies ---- 转换node-modules必备
    在vue.config.js文件中配置如下:

    module.exports = {
    	......
    	 transpileDependencies: [
    	    /[/\\]node_modules[/\\](.+?)?mapbox(.*)/,
    	    /[/\\]node_modules[/\\](.+?)?element-ui(.*)[/\\]src/,
    		/[/\\]node_modules[/\\](.+?)?element-ui(.*)[/\\]package/
    	  ]
    }
    

到此基本完成

实战:如何用MIPI CSI-2高效传输RAW10图像数据(附带宽优化技巧) 本文深入探讨了MIPI CSI-2协议在RAW10图像数据传输中的高效应用,详细解析了4像素5字节打包机制及其带宽优化技巧。通过动态Lane分配、位深度自适应压缩和虚拟通道交错传输等实战方法,显著提升传输效率,适用于IoT摄像头开发等低功耗场景。 阅读详情

相关推荐

【项目实战】小智AI MCP协议在IoT设备控制中的深度应用解析

本文深度解析小智AI MCP协议在IoT设备控制中的应用实践。通过MCP协议作为AI与物联网设备的翻译桥梁,实现大语言模型与ESP32等硬件的无缝通信。文章详细介绍了环境搭建、工具注册、消息路由机制,并以语音控制RGB灯光系统为例展示完整开发流程,为AIoT开发者提供实用指南。

oauth7security的博客 824

vue项目打包优化的方法

项目上线前对项目进行极致压缩的方法 将20MB文件压缩为20KB 优化项目运行速度

weixin_68531033的博客 8198

海康威视GigE工业相机的python调用demo

默认路径安装完成后,在路径C:\Program Files (x86)\MVS\Development\Samples\Python\BasicDemo下的BasicDemo.py中,海康威视官方提供了基本的调用方法,本文也是基于这个修改的。BasicDemo.py提供了通过枚举选择相机的方法,在官方的另一个DEMO:ConnectSpecCamera.py中提供了另一种不通过枚举,直接访问特定IP相机的方法,也可以参考。另外,如果每台相机都定义了唯一的用户定义名,也可以通过用户定义名来区分相机。

xulibo5828的博客 2108

babel.config.js配置

使用’@babel/preset-env’可以确保你的代码在不同环境中运行,将ES6+代码转译为兼容的JavaScript版本。使用’@vue/cli-plugin-babel/preset’则在’@babel/preset-env’基础上,进一步优化了Babel配置,以满足Vue.js项目的特定需求,同时仍然保持了兼容性大多数情况下,你应该使用’@vue/cli-plugin-babel/preset’,因为他考虑了Vue.js相关的优化和要求,确保你的代码在Vue项目中正常运行。

weixin_44740072的博客 5732

基于deepseek本地模型的本地知识库构建

通过以上步骤,你已经成功构建了一个基于 AnythingLLM 和 LM Studio 的本地知识库。这个系统不仅能够高效地存储和检索知识,还能结合强大的语言模型生成准确的回答。你可以根据自己的需求进一步扩展和优化这个系统,比如增加更多的文档格式支持、优化检索算法等。

qq_30178745的博客 1381

2026年信创系统技术应用专业人才培养基地建设方案(高职、信创新专业、人才培养、专业代码:510221)

响应国家信创产业战略及教育部新增“信创系统技术应用”专业(代码510221)的部署,联合麒麟软件、华为鸿蒙等领军企业,建设高水平信创人才培养基地。方案基于国家政策导向(如2027年央企全面国产化替代目标)和行业人才缺口(2025年缺口超80万人),提出以“产教融合、创新驱动”为核心,构建集教学、实训、认证于一体的综合性培养体系。 建设内容涵盖五大方向: 专业规划:分三阶段(2025-2030年)推进专业申报、课程开发与区域辐射,最终建成区域性信创技术创新平台。 课程体系:围绕运维、云计算、数据库、适配

啊碧根果的博客 1596

@vue/cli (四)插件和preset

Vue CLI 使用了一套基于插件的架构。如果你查阅一个新创建的项目的 package.json ,就会发现依赖都是以 @vue/cli-plugin- 开头的。插件可以修改 webpack 的内部配置,也可以向 vue-cli-service 注入命令。在项目创建的过程中,绝大部分列出的特性都是通过插件来实现的。基于插件的架构使得 Vue CLI 灵活且可扩展。每个 CLI 插件都会包含一个(用来创建文件的)生成器和一个(用来调整webpack核心配置和注入命令的)运行时插件。当你用 vue create

mutouren_abc的博客 4610

飞塔CVE-2022-40684复现

admin 无密码直接回车(会提示修改密码)

G3et的博客 1145

VUE中babel.config.js配置按需引入

VUE中babel.config.js配置按需引入

qq_46344419的博客 2146

互联网的发展简史—web

互联网是我现在生活所离不开的一个东西,但是你知道互联网的前世今生吗?本文将讲解互联网的发展史,以及很火的元宇宙概念。

yj11290301的博客 3562

【RT-DETR创新改进】改进前必看!对Ultralytics调参, 1:1还原RT-DETR官方版本实验参数,使用原汁原味的RT-DETR模型,才能高效跑实验、高效涨点、收割小论文、完成大论文!!!

本文针对Ultralytics训练RT-DETR精度不佳问题,提供参数配置优化方案。通过对比官方RT-DETR参数设置,详细指导如何修改Ultralytics版本的关键参数,包括优化器、学习率、权重衰减等6处配置调整。操作步骤涵盖default.yaml文件修改和trainer.py代码调整,确保模型收敛性能达到官方水平,帮助研究者快速提升实验效果。文末附官方源码链接和具体参数配置网址供参考。

Ai缝合怪、助力小伙伴高效发论文 1775

npm错误找不到模块‘@vue/cli-plugin-babel/preset‘

在此之后,您必须更新您的babel配置。

jasonhongcn的专栏 1351

osgearth添加经纬度网格,并显示鼠标所指经纬高度信息

一、代码 osgearth官方例子 #include <osg/Notify> #include <osgGA/StateSetManipulator> #include <osgViewer/Viewer> #include <osgViewer/ViewerEventHandlers> #include <osgEarth/MapNode> #include <osgEarthUtil/EarthManipulator> #

ljjjjjjjjjjj的博客 3564

Vue3:vue-cli项目创建及vue.config.js配置

是JavaScript的超集(.ts文件),包含并扩展了 JavaScript 的语法。项目创建Vue 2.x、Vue 3.x 或自定义,默认版本vue3.x和vue2.x无需配置,自定义需配置。通过 ↑↓ 箭头选择依赖,按 “空格” 是否选中,按 “a” 全选,按 “i” 反选。自定义选择需要支持的特性 ( ↓ 不使用任何css或js扩展)vuex(vue的状态管理模式、store)CSS 预处理器(如:less、sass)代码风格检查和格式化(如:ESlint)vue-router(vue路由)

米拉 3966

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Vue-CLI2项目从 babel 6 + webpack 3.x 升级到 babel7 + webpack4.x 踩坑

序言 当前项目是通过当时Vue-CLI 2.x生成使用,配置是babel 6编译、webpack 3.x打包。由于项目发展到某个阶段,需要升级优化。目标是打包速度更快、bundle体积更小。 本文通过分享代码片段讲述部分版本升级后的不同以及可能发生的报错案例,达到让小伙伴们能找到对应的解决办法,减少升级版本的恐惧感。 正文 第一部分 Webpack 1. mode 模式 通...

weixin_34413065的博客 2396

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

[Vue CLI 3] 插件解析之 @vue/cli-plugin-babel

本文我们来看一下官方的这个 @vue/cli-plugin-babel 先看一下源码文件: generator.js index.js 核心的有 2 个文件,我们主要第一个 index.js,最外层结构多是插件式的标准结构: module.exports = (api, options) => { // ... } 这里因为我们...

weixin_33923148的博客 8896

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

vue运行报错Error: Cannot find module ‘@vue/cli-plugin-babel‘

原因:当前电脑nodejs版本过高,项目的配置太低,不匹配,如下package.json

梦翼横空的专栏 3万+

Vue-Cli 创建 TypeScript 项目

Vue-Cli 创建 TypeScript 项目

m0_54158068的博客 2169

Vue3.x 超详细安装教程

文章目录一、安装vue-cli二、创建项目三、选择配置四、是否使用history路由模式,这里我选择:`Y`五、选择css预处理器,这里我选择:`Stylus`六、选择eslint 配置,这里我选择: `ESLint + Standard config`七、选择什么时候执行eslint校验,这里我选择:`Lint on save`八、选择配置文件存放的位置,这里我选择:`In dedicated config files`九、是否保存之前的配置项,如果是则需要输入保存名,如第二步所看到的我保存的名字为xia

猫老板的豆 8257

vue cli3 项目配置

【转】https://juejin.im/post/5c63afd56fb9a049b41cf5f4 基于vue-cli3.0快速构建vue项目 本章详细介绍使用vue-cli3.0来搭建项目。 本章使用vue-cli3.0构建的项目是基于webpack的模板文件,构建后的项目属于单页面(SPA)应用。因此,该文档后续操作与说明不适用于构建一个多页面应用。 相比于之前有如下优点: 功能...

南风不竞的专栏 318

vue-cli 版本 4.5.4 脚手架搭建项目

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码

lss0555的博客 2683

Vue PostCss插件——autoprefixer,自动补全css浏览器前缀

Autoprefixer是一款基于PostCSS插件,用于解析CSS并使用Can I Use中的值向CSS规则添加供应商前缀 。它是 Google 推荐的,并在Twitter和阿里巴巴中使用。 可以实现css3代码自动补全,也可以运用到sass、less中 前端开发中,为兼容所有浏览器,部分CSS属性需要加上不同的浏览器前缀,这些属性多且难记。 当然,我们可以手动添加,这样会使开发变得枯燥无味,且容易出错、遗漏,可能会增加不必要的调试。这样既浪费时间,又在无形中给自己添加了很多没必要的工作量。 Au.

足各路 2万+

用vue-cli3.0安装脚手架

vue-cli 3.0 正式版在18年 8月10号发布了!作为前端,当然是得赶紧用起来才能跟上脚步,而且不用不知道,一用就会爱上,因为3.0的版本,比2.0的配置文件简洁了很多,它好像是将大部分配置都放在了node_modules里面了。所以生成的脚手架只有两个主文件夹了。 因为我电脑之前用的是vue-cli2.0,所以要先卸了2.0的先: npm uninstall -g vue-cl...

caimingxian401的博客 7990

vue cli3 兼容ie浏览器

安装依赖 cnpm install --save babel-polyfill cnpm install es6-promise --save 在main.js导入 import ‘@babel/polyfill’; import Es6Promise from ‘es6-promise’ Es6Promise.polyfill() .babelrc文件内配置 {   “presets”: [    [    &nbs

weixin_44191425的博客 1128

Vue CLI 3 安装、创建、配置、安装插件

一、安装 1、全局安装过旧版本的 vue-cli(1.x 或 2.x)要先卸载它: npm uninstall vue-cli -g //或者 yarn global remove vue-cli 注意:如果卸载不了(我卸载2.9.6,还剩下一个2.9.3版本一直卸载不了),就直接安装vue cli3,包直接安装就能覆盖掉 2.安装 vue cli3 npm install -g @vue/...

汉堡请不要欺负面条 1万+

(一)vue-cli 3.x 脚手架搭建项目及相关配置

1. 安装 2. 创建项目 2.1 使用vue-cli 3.x创建项目 2.2 使用webstorm创建项目 3. 项目目录

Crystalyh22的博客 3954
上一篇: Vue.js CLI4.0 vue.config.js配置
下一篇: echarts数据可视化
蜗牛与藤曼
博客等级 码龄9年 1万+粉丝 89原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值