zoukankan      html  css  js  c++  java
  • es6 入门 ——— 运行环境的搭建

      最近在看Vue的API,然后想自己着手做个项目,搭建 脚手架的时候发现,了解掌握 es6 又是必要的步骤,对于我这种,es5还没摸熟的小白来说,还是翻看了大神的书本,学了起来。这里只是做个简单的搭建,初步的入门。

      由于现在大多数浏览器并不能像原声支持 es5 一样支持 es6,所以用 es6 第一步就是需要通过 Babel 转码器,将 es6 代码转为 es5 代码。Babel 给我们提供 babel-cli 工具,用于命令行转码,安装命令如下,要在管理员模式下命令提示符输入:

    1 npm install --g babel-cli                                                 

      同时我们还需要安装转码规则包, 官方提供了一些规则集,想要了解详细的有哪些,你可以去 阮一峰 大神的 《ECMAScript 6 入门》 这本书的第一章(1.ECMAScript 6 简介)第六节(Babel 转码器)中查看,这里我根据需求安装的是  babel-preset-react-es2015。

      这里在安装规则包之前,先创建一个 目录,目录名称自定义,我这里命名为 babel-test,然后在此目录下再创建两个目录,命名为 es6 和 js,分别用来存放 es6 源代码和转码后的 es5 代码,文件结构如下:

        

      然后在 命令提示符里找到这个目录之后,使用命令 npm init -yes,结果如下图

        

      此时 bebel-test目录下生成一个默认的  package.json 文件,结构如下图:

        

      然后继续在当前目录下执行下面的命令 安装 es6转码规则包:

    1 npm install babel-preset-es2015 --save-dev                    

      继续在 es6 目录中创建一个 test.es6 文件用于写入 es6 源代码。此处由于 Babel 编译源文件时没有过多的限制,所以我们可以选择使用 js 或者  es 作为文件后缀名。将下面的 es6 代码写到 test.es6 中:  

    1 let name = 'muzi_LEE';
    2 let greeting = `hello ${name}`;
    3 console.log(greeting);

      接下来我们就可以用 babel 命令编译 es6 目录下的 test.es6 文件,输出为 js 目录下的 test.js ,代码如下所示:

    1 babel es6/test.es6 --out-file js/test.js --presets es2015

      运行成功以后,js 目录下就会自动生成 test.js,内容就是 转换的 es5 语法,如图:

      

      到这一步,我们的 es6 语法已经被编译转换成了 es5 语法,此时的 test.js 就可以被引用了。

      下一步,在 es6 目录中再创建 test2.es6 文件,此时 es6 目录下不再是单一的文件,如果我们想编译整个  es6 目录的源文件,又不想一个个文件的编译转换,只需使用下面的命令就可以编译整个目录下的 es6 源文件到 js 目录下,代码如下:

    1 babel es6 --out-dir js --presets es2015

      运行结果如下图:

      

      到目前为止,我们的代码是在全局环境下,进行 Babel 转码。这意味着,如果项目要运行,全局环境必须有 Babel,也就是说项目产生了对环境的依赖。另一方面,这样做也无法支持不同项目使用不同版本的 Babel。

      解决的办法就是讲 babel-cli 安装在本地项目之中。命令提示符找到当前目录,在当前目录下执行如下指令:

    1 npm install babel-cli --save-dev

      然后把 package.json 里面的 script 修改为 如下:

    1 "scripts": {
    2     "build": "babel es6 --out-dir js --presets es2015"
    3   }

      修改完成之后,在转码的时候,就执行下面的命令即可:

    1 npm run build

      到此步, es6 的初步搭建已完成,希望对你有用,同时有什么疑问,也可以在评论区提出。

     

     by: 木梓李  

     

     

     

  • 相关阅读:
    Intel CPU编号详解
    matplotlib(二)——matplotlib控制坐标轴第一个刻度到原点距离
    matplotlib(一)——matplotlib横轴坐标密集字符覆盖
    博客园定制页面(五)——使用自定义JS脚本(公告栏显示时间)
    PyCharm(二)——PyCharm打开本地项目不显示项目文件
    nohup命令
    URL是如何解析的
    Python 得到主机字节序
    Python 得到ISP地址
    亚马逊s3上传大文件Python
  • 原文地址:https://www.cnblogs.com/-muzi/p/7373211.html
Copyright © 2011-2022 走看看