一、Babel 7 库的作用域 (scope)

(1)Babel 7 用了 npmprivate scope,把全部的包都挂在在 @babel 下,类似的有 typescript@type

(2)Babel 7 提供多种配置

  1. .babelrc
  2. babel.config.js
  3. webpack babel loader

二、babel7 相关文件

先看一下babel7配置成功后的样子


babel.config.js

const presets = [['@babel/env',{targets: {edge: '17',firefox: '60',chrome: '67',safari: '11.1',browsers: ['last 2 versions', 'ie >= 7']}}]
]
module.exports = { presets }

babel 7 开始, .babelrc 的作用范围仅限于当前项目,默认不再作用与 node_modules 和工作区 (./packages/*),如果需要,可以指定作用范围

在项目 rootDir(项目根目录)创建 babel.config.js

.babelrc

{"presets": [["@babel/env",{"targets": {"chrome": "58","ie": "10"},"useBuiltIns": "usage"}]],"plugins": ["@babel/plugin-transform-runtime","@babel/plugin-syntax-dynamic-import","@babel/plugin-proposal-object-rest-spread","transform-vue-jsx"]
}

package.json

三、升级步骤

(1)babel-core卸载掉,从新安装@babel/core

npm un babel-corenpm i -D @babel/corenpx babel-upgrade --write --install

(2).babelrc 引入插件解析

"plugins": [ "@babel/plugin-transform-runtime", "@babel/plugin-syntax-dynamic-import", "@babel/plugin-proposal-object-rest-spread", "transform-vue-jsx" ]

(3)在package.json文件中 删除babel6 相关的依赖

"devDependencies":{}"dependencies":{}

中 看后面是有babel 版本号写6.XX.XX的都删掉

(4)删除文件夹 node_module 然后重新安装

rm -rf node_modules
yarn install

babel6升级到babel7相关推荐

  1. 为什么我要构建这个脚手架

    本文不是什么技术性介绍文章,准确地说算是自己的成长记录吧.刚参加工作时,组里使用的脚手架是由 leader 使用 webpack, gulp 搭建的多页面应用脚手架 fex.当时只需知道怎么使用就行了 ...

  2. babel-预设和插件

    一.配置文件 几乎所有的前端工程师都知道可以用babel将es6+的语法转换为es5,转换工具要么使用babel-cli,要么使用webpack的babel-loader,不管使用哪种转换工具,通常都 ...

  3. react 与 Vue的一些比较

    原文地址 组件开发 特性对比 众所周知,Vue和React都有那么一个特性,那就是可以让我们进行组件化开发,这样可以让代码得到更好的重用以及解耦,在架构定位中这个应该叫纵向分层吧.但是,两个框架开发组 ...

  4. babel6和babel7中关于polyfill和preset-env和babel-plugin-transform-runtime等总结

    记录自己零散的收获,随笔. 一些基础 babel的作用是转换JS新的特性代码为大部分浏览器能运行的代码. babel转码又分为两部分,一个是语法转换,一个是API转换. 对于API的转换又分为两部分, ...

  5. babel5升级到babel6总结

    babel5 to babel6 为什么要升级? 性能提升:据说compile速度提升20%(但在测试后发现,速度慢了20%+). 可配置的插件:更强的灵活性,以及更简单的插件API. 更简洁的配置. ...

  6. babel7 + corejs3升级

    webpack.config.js中,移除以往的babel引入 entry: {// app: ['babel-polyfill', path.join(process.cwd(), 'src/mai ...

  7. babel6 babel7_当您已经准备好Babel时设置Flow

    babel6 babel7 by Jamie Kyle 杰米·凯尔(Jamie Kyle) 当您已经准备好Babel时设置Flow (Setting up Flow when you've alrea ...

  8. 系统架构升级要不要上微服务?历“久”弥新微服务——你真的需要升级微服务架构吗

    在 <微服务架构设计模式> 一书中,作者总结了关于微服务的一些"重点",原文如下: 中国企业和开发者对微服务架构的热情让我印象深刻.但如同我给所有客户的忠告一样,我想对 ...

  9. 使用rancher对Docker容器服务升级

    这是笔者以前使用到的一个docker管理工具--rancher 升级服务的步骤 记录一下,说不定有人需要或者以后能用上呢? 1.打包好后上传服务器,编写Dockerfile FROM jdk8apli ...

最新文章

  1. Silverlight与数据库的三种互操作[源代码]
  2. 50个Android开发人员必备UI效果源码[转载]
  3. Nginx log error:client sent invalid userid cookie
  4. 短信猫编程的一些资料1(At指令发送短信)
  5. 硬件断点 DrxHook
  6. Lync 2010的点击呼叫设置
  7. superset设置自动刷新
  8. iPhone 12 mini大幅砍单 苹果可能又要因为屏幕而向三星支付违约金
  9. php 检查语法命令,php语法检查的方法有哪些?(代码示例)
  10. 【转】Objective-C语法property详解
  11. JDK18 Java 18 拥有 9 个新特性
  12. Debian忘记密码修改
  13. Objective-C内存管理
  14. Android GIF图片显示
  15. 计算机硬件设备ppt教案,《计算机硬件基础》PPT课件.ppt
  16. mounted和created的区别
  17. 光线追踪(RayTracing)算法理论与实践(三)光照
  18. 一句平静而感人的英文电影对白
  19. 并发编程四:深入理解java线程
  20. mysql 嵌入式 稳定性_常用的嵌入式数据库的比较

热门文章

  1. Razor.js,基于JavaScript的Razor实现
  2. python字符串讲解
  3. winform把所有dll打包成一个exe
  4. 深度学习工作机制通俗介绍
  5. Ubuntu下无法使用Secure_CRT连接服务器
  6. 【Bugly 技术干货】Android开发必备知识:为什么说Kotlin值得一试
  7. SQL 2005中pivot and unpivot的用法
  8. Linux程序在预处理、编译、汇编、链接、运行步骤的作用
  9. java 微信支付实现
  10. IntelliJ IDEA16 热部署,解决每次修改java文件就得重启tomcat的问题