node.js学习笔记之babel使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js学习笔记之babel使用相关的知识,希望对你有一定的参考价值。

babel的作用不用多说了,是个学Node.js的应该都知道。在此做个标记,记录一下babel相关的npm包和配置方法。

babel包如下,各有各的作用:

transform-strict-mode (由于很多 ES 特性需要 严格模式才能打开, 添加这个插件就会自动在所有文件上添加 ‘use strict‘;)
transform-strict-mode (由于很多 ES 特性需要 严格模式才能打开, 添加这个插件就会自动在所有文件上添加 ‘use strict‘;)
transform-es2015-modules-commonjs (将 ES6 模块标准 转换成 Node.js 用的 CMD 模块标准)
transform-es2015-spread (支持 ES6 的 spread 操作符)
transform-es2015-destructuring (支持 赋值解构)
transform-es2015-parameters (支持默认参数, 参数解构, 以及其他参数)

安装包:

# 安装 core 和命令行工具
$ npm install --save-dev babel-core babel-cli 
# 安装所有插件
$ npm install --save-dev babel-plugin-transform-strict-mode babel-plugin-transform-es2015-modules-commonjs  babel-plugin-transform-es2015-spread babel-plugin-transform-es2015-destructuring babel-plugin-transform-es2015-parameters

添加配置文件:

需要在项目根目录下建一个.babelrc的文件。

.babelrc:

{
  "plugins": [
    "transform-strict-mode",
    "transform-es2015-modules-commonjs",
    "transform-es2015-spread",
    "transform-es2015-destructuring",
    "transform-es2015-parameters"
  ]
}

文件组织

由于 Node.js本身有加载器, 所以不需要将所有文件打包成一个文件, 推荐的做法是, 添加一个 src 目录, 用于存放 ES6 脚本, 然后将整个目录打包到 lib 目录下, 对应的脚本为

babel src --out-dir lib


开发调试的时候, 可以直接用 babel-cli 模块提供 babel-node 代替 node 直接启动 src 目录下面的入口脚本。

babel-node src/index.js


最后, 将命令封装到 package.json 里面:

{
  "name": "xxxxx",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "babel-node src/index.js",
    "build": "babel src --out-dir lib"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "babel": "^6.5.2",
    "redux": "^3.3.1"
  },
  "devDependencies": {
    "babel-cli": "^6.5.1",
    "babel-core": "^6.5.2",
    "babel-plugin-transform-es2015-destructuring": "^6.5.0",
    "babel-plugin-transform-es2015-modules-commonjs": "^6.5.2",
    "babel-plugin-transform-es2015-parameters": "^6.5.0",
    "babel-plugin-transform-es2015-spread": "^6.5.2",
    "babel-plugin-transform-strict-mode": "^6.5.2"
  }
}

封装命令的重点是:

"scripts": {
    "start": "babel-node src/index.js",
    "build": "babel src --out-dir lib"
  },

我们就可以使用下面的命令启动和编译我们的代码了

# npm run build 构建脚本
# npm start 使用 babel-node 启动进程

当然,不用每次都执行构建脚本的命令,只需要 #npm start  这一个命令也是可以的。


本文参考http://taobaofed.org/blog/2016/01/07/find-back-the-lost-es6-features-in-nodejs/

本文出自 “__无字书” 博客,请务必保留此出处http://wuzishu.blog.51cto.com/6826059/1743361

以上是关于node.js学习笔记之babel使用的主要内容,如果未能解决你的问题,请参考以下文章

Node.js之Web学习笔记

如何使用 Node JS 设置 Babel 6 以在我的服务器端代码中使用 ES6?

Node.js之commander.js学习笔记

node.js学习笔记之简洁聊天室

Jest 学习笔记之matchers

node.js学习笔记之写文件