博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node识别es6的 import/export
阅读量:6806 次
发布时间:2019-06-26

本文共 933 字,大约阅读时间需要 3 分钟。

起因,原本只想搭建一个es6的环境,进行简单的测试。结果发现 node 8 版本虽然支持 es6,但不支持import/export,这就很尴尬。

解决(很简单)

1.1,使用babel手动搭建

首先,NodeJS 是 CommonJS 规范的实现。这样就可以使用 babel 将es6的语法转为 CommonJS 的语法即可。

  1. 需要如下2个关于 babel 的依赖:

npm install babel-register babel-preset-env --save-dev

  1. 需要 .babelrc 文件

下面 2 种方式都可以

  • 使用转换 ES2015+ 的 env preset
{  "presets":[    "env"  ]}复制代码
  • 或直接使用转 CommonJS 的 plugin
{  "plugins": [    "transform-es2015-modules-commonjs"  ]}复制代码
  1. babel-register

当引入之后,之后通过 node 引入的带 .es6, .es, .jsx 和 .js 后缀的所有后续文件都将会被 Babel 转译。

require("babel-register");复制代码

1.2,示例

  1. 文档结构
│  .babelrc│  package.json└─src        index.js        a.js        b.js复制代码
// index.jsrequire("babel-register")require('./a')复制代码
// a.jsimport { bar } from './b'bar()复制代码
// b.jsexport function bar () {    console.log('b')}复制代码

这样 node ./src/index.js 就会输出 b

2,node 9 版本以上,已经支持了 es6的 import/export

查看 Node 官网,现在稳定版还是 8 版本,所以最好还是使用 babel 安全一点。

转载于:https://juejin.im/post/5b87952e6fb9a019e8228aae

你可能感兴趣的文章
学习之路二十七:三种序列化方式的一些注意点
查看>>
XAML绑定
查看>>
Zend Studio 10.0.1 发布
查看>>
C# Language Tour
查看>>
Debian 和Ubuntu Mono 3.0 部署包
查看>>
方法代码ASP.NET MVC如何使用Ajax的辅助方法
查看>>
c++引用详解
查看>>
Senparc.Weixin SDK 微信公众号 .NET 开发教程 索引
查看>>
Android SDK Permission大全访问权限
查看>>
sicp第一章部分习题解答
查看>>
异步委托与多线程
查看>>
nullnullvc中加花
查看>>
索引测试代码
查看>>
广度优先搜索nodeHDU/HDOJ 1242 Rescue 典型的迷宫广度优先搜索题
查看>>
多注入
查看>>
iPhone App开发实战手册学习笔记(5)之IOS常用机制
查看>>
Git 使用
查看>>
php正则
查看>>
用长按键重复输入 - Mac OS X Lion
查看>>
thinkphp 语言包丢失
查看>>