首页 技术 正文
技术 2022年11月12日
0 收藏 880 点赞 2,384 浏览 2479 个字

现在Chrome浏览器已经很好的支持ES6了,但有些低版本的浏览器或其他浏览器还是不支持ES6的语法,因此实际项目开发或上线过程中就需要把ES6的语法转变成ES5的语法。项目开发过程中 Webpack 有自动编译转换功能,因此免去了环境搭建这一步。但除了Webpack自动编译外,我们还可以用Babel来完成编译。下面搭建一个基本的ES6开发环境。

一、全局安装babel-cli

  在CMD终端命令行 或 代码编辑工具(vscode、webstorm) 终端中 输入以下命令,全局安装babel-cli。

  npm install -g babel-cli 或 cnpm install -g babel-cli

二、新建源文件目录和基础文件 index.html、jindex.js

  1、新建源文件目录和基础文件 index.html、jindex.js

    

    

  2、项目初始化

    npm init -y

    

    

三、本地安装 babel-preset-env 和 babel-cli

  npm install --save-dev babel-preset-env 或 cnpm install --save-dev babel-preset-env
  npm install --save-dev babel-cli 或 cnpm install --save-dev babel-cli

  当然也可以两个命令合并执行

  npm install --save-dev babel-preset-env babel-cli 或 cnpm install --save-dev babel-preset-env babel-cli

  安装完成后,package.json文件中会自动添加 devDependencies 属性及内容。

    

  新建 .babelrc文件,在根目录下新建.babelrc文件,并键入以下代码。  (.babelrc文件就是一般的文本文件,不是json文件)

  {
  "presets":["env"],
  "plugins":[]
  }

  .babelrc文件建立完成后,所有的准备工作全部就绪。现在可以在终端命令行 输入转换命令babel src/index.js -o dist/index.js

  babel src/index.js -o dist/index.js

    

四、简化(格式化)转换命令

  上面那一串命令是不是既长又不规则,输起来还麻烦,记起来也麻烦。所以迫切需要将上面那一串命令简化和格式化,恰好这段时间一直在整Electron,Electron项目的启动命令:npm start;打包命令:npm run-script package 都很简洁且规整,所以可以借鉴这一点。

  打开 package.json文件,找到  “scripts” 项,把想简化和格式化成的命令 写入 “scripts” 内。如想简化成:npm run dev,则在 “scripts” 内添加如下代码:

   "dev": "babel src/index.js -o dist/index.js"

  如想简化成:npm run build,则把 dev 换成 build 即可,改成如下即可:

    "scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "babel src/index.js -o dist/index.js"
},

  按照这种格式,哪怕想格式化成自己的姓名都行。既方便记忆,又方便输入。修改好以后,下次转换代码直接输入和执行命令:npm run xxxxxx 就行了(甚至直接用 npm run xxxxxx 当命令都行)。下面是 package.json 全部代码以及效果截图:

{
"name": "ES6",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"xxxxxx": "babel src/index.js -o dist/index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-preset-env": "^1.7.0"
}
}

      

到此为止,ES6的本地开发环境正式搭建完毕,下面就可以随意学习和开发了,并进行代码转换。

最后,附上几个Babel常见命令

  1、直接输入babel-node命令,在命令行中直接执行ES6代码:

   babel-node

  2、转换es6.js文件并在当前命令行 程序窗口中输出 转换后的ES5代码:

    babel es6.js

    

  3、将es6.js转换后输出到es5.js文件中(使用 -o 或 –out-file):

     babel es6.js -o es5.js   

  babel es6.js –out-file es5.js

  4、实时监控es6.js文件变化,有变化就重新编译(使用 -w 或 –watch):

   babel es6.js -w –out-file es5.js

  babel es6.js –watch –out-file es5.js

      每次编辑修改ES6代码后,按Ctrl+S保存就会自动执行编译。

  5、编译整个src文件夹并输出到dist文件夹中(使用 -d 或 –out-dir)

  babel src -d dist
    babel src –out-dir dist

  6、编译整个src文件夹并输出到一个文件中

  babel src –out-file es5.js

最后的最后,ES6的整个学习历程都参考 了 阮一峰 老师的 ECMAScript 6 入门 教程,教程内容详实、举例清晰明确、代码讲解通俗易懂,在此特此感谢!

ECMAScript 6 入门:https://es6.ruanyifeng.com/

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,023
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,513
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,361
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,143
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,774
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,853