• ES6开发环境准备--babel配置(1)


    前言:

      公司项目目前用vue开发,项目中使用es6语法,但是开发中偶尔有些语法会混淆和遗忘,此处作以记录,方便自己回顾和翻阅。

      1.babel初识

        功能:babel是一个JavaScript的编译器,将ES6语法编译成浏览器所识别的ES5语法。

        用法

                           1>REPL在线编辑:

            我们可以使用babel提供的在线的REPL环境完成ES6语法的转换(https://babeljs.cn/repl) 

           2>Babel CLI命令行:

            我们通过在本地安装babel cli工具,配置.babelrc文件,通过命令完成ES6语法的转换,详细操作继续往下读

          3>Babel结合webpack

              Babel结合webpack完成ES6转ES5的操作。

            2.babel-cli实践

              1>创建工程:根目录中创建了一个src和dist的文件夹

          src:存放ES6编写的文件。

          dist:存放通过babel编译后的ES5文件。

          

        2>创建文件:编写index.html和index.js文件

          index.html文件:注意引入的是dist/index.js

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="./dist/index.js"></script>
        <title>babel配置入門</title>
    </head>
    <body>
        <script>
            printMsg()
        </script>
    </body>
    </html>

          index.js文件:

    let str = 'ES6关于babel配置第一节'
    let printMsg = () => {console.log(str)}

        3>初始化项

          npm init命令,在根目录中生成package.json文件

    {
      "name": "es6",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo "Error: no test specified" && exit 1"
      },
      "keywords": [],
      "author": "",
      "license": "ISC"
    }

        4>安装babel-cli、配置.babelrc文件

          1.项目中安装了es2015的转码规则和babel-cli

            命令:npm install --save-dev babel-preset-es2015 babel-cli

            安装结果:package.json文件中多了配置项。

    "devDependencies": {
        "babel-cli": "^6.26.0",
        "babel-preset-es2015": "^6.24.1"
      }

          2.配置.babelrc文件

            1>在根目录下新建.babelrc文件

              

            2>配置转码规则presets和plugins

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

        5>ES6转为ES5操作:

          1.babel命令转化

            1>命令行输入:babel src/index.js -o dist/index.js

              

            2>转码结果:dist/index.js

                             

          2.简化转化:可以在package.json文件中配置转化命令

            1>规则配置

              

            2>执行命令

              

      3.babel-cli命令补充

        1、转换index.js文件并在当前命名行程序窗口中输出

      babel src/index.js

        2、将src/index.js转换后输出到dist/index.js文件中(使用 -o 或 --out-file

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

        3、实时监控es6.js一有变化就重新编译(使用 -w 或 --watch )

      babel src/index.js -w --out-file dist/index.js
      babel src/index.js --watch --out-file dist/index.js

        4、编译整个src文件夹并输出到lib文件夹中(使用 -d 或 --out-dir

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

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

      babel src --out-file /dist/index.js

        6、直接输入babel-node命令,可以在命令行中直接运行ES6代码

      babel-node

       4.babel结合webpack实践

        1>在之前的基础上我们需要安装webpack,和babel-loader

        npm install --save-dev webpack babel-loader

        安装结果:使用webpack编译,此处的babel-cli没有任何作用了,如果需要卸载可以使用npm uninstall webpack命令即可。

          

        2>配置webpack.config.js

    module.exports = {    
        entry: './src/index.js',  //程序入口文件  
        output: {  //程序输出文件路径设置
            path: __dirname,    
            filename: './dist/index.js',    
        },    
        module: {    
            loaders: [{    
                test: /.js$/,    
                exclude: /node_modules/,    
                loader: 'babel-loader'  //babel加载器
            }]    
        }    
    }    

        3>运行webpack命令

        

        出现绿色的结果就表示,命令运行结果成功了。

    总结:以上ES6转ES5方式,大家可以任选其一,但是推荐使用webpack,随着前端功能的复杂化,webpack已经成为前端很多项目中必不可少的工具,尽快掌握最好。

  • 相关阅读:
    配置ssl(阿里云+腾讯云)
    使用Nativefier将web页面打包为桌面应用
    临时切换淘宝源下载包
    ajax实现异步上传多图并且预览
    通过phpexcel插件导出报表功能实现
    ThinkPHP5.0自定义命令行的使用
    Longest Substring Without Repeating Characters
    计算机操作系统巡回置换算法
    HDU 2041 DP
    HDU 2044 DP (fibonacci)
  • 原文地址:https://www.cnblogs.com/diweikang/p/8903597.html
Copyright © 2020-2023  润新知