备注:

   尽管nodejs 新版本已经支持es6 的好多特性了,但是还是有部分不支持,为了使用,实际上我们有一个
比较强大工具 bable,下面介绍几个比较简单的用法。
1. bable-cli 中的 babel-node
  1. a. 初始化项目
  2. yarn init -y
  3. b. 安装依赖 babel-cli
  4. 备注:可以去全局,可以项目安装,演示使用的项目
  5. yarn add babel-cli babel-preset-env babel-core
  6. c. 项目结构如下:
  7. ├── main.js
  8. ├── package.json
  9. ├── README.md
  10. ├── run.js
  11. ├── user.js
  12. └── yarn.lock
  13. main.js
  14. import user from "./user";
  15. let foo = (item) =>console.log(JSON.stringify(item));
  16. foo(user.userinfo);
  17. foo(user.moduleinfo);
  18. package.json
  19. {
  20. "name": "nodejses6",
  21. "version": "1.0.0",
  22. "main": "index.js",
  23. "license": "MIT",
  24. "devDependencies": {
  25. "babel-cli": "^6.26.0",
  26. "babel-core": "^6.26.0",
  27. "babel-preset-env": "^1.6.1",
  28. "babel-register": "^6.26.0"
  29. },
  30. "scripts": {
  31. "run": "node run",
  32. "cli":"babel-node main.js"
  33. }
  34. }
  35. run.js
  36. require("babel-register");
  37. require("./main")
  38. user.js
  39. export default {
  40. userinfo:{
  41. "name":"dalong",
  42. "age":33
  43. },
  44. moduleinfo:{
  45. version:"v1",
  46. scope:"all"
  47. }
  48. }
  49. d. babel 配置
  50. .babelrc
  51. {
  52. "presets": [
  53. [
  54. "env",
  55. {
  56. "targets": {
  57. "node": "current"
  58. }
  59. }
  60. ]
  61. ]
  62. }
  63. e. 运行
  64. yarn run cli
2. 使用babel-register
  1. 代码参考上面的,主要是 run.js 代码,以及 npm babel-register,
  2. 执行 yarn run run 即可
3. 参考资料
  1. https://github.com/rongfengliang/nodejses6demo
  2. https://www.npmjs.com/package/babel-register
  3. https://www.npmjs.com/package/babel-cli
 
 
 
 

让nodejs 支持 es6 import的更多相关文章

  1. 让nodeJS支持ES6的词法----babel的安装和使用

    要使用Babel, 我们需要nodeJS的环境和npm, 主要安装了nodeJS, npm就默认安装了 , 现在安装nodeJS很简单了, 直接下载安装就好了: 安装es-checker 在使用Bab ...

  2. Webstorm 不识别es6 import React from ‘react’——webstorm不支持jsx语法怎么办

    2016-10-31更新 webstorm不支持es6语法怎么办? webstorm不支持jsx语法怎么办? 参考:webstorm不支持jsx语法怎么办 I spent ages trying to ...

  3. 如何让浏览器支持ES6语法,步骤详细到小学生都能看懂!

    为什么ES6会有兼容性问题? 由于广大用户使用的浏览器版本在发布的时候也许早于ES6的定稿和发布,而到了今天,我们在编程中如果使用了ES6的新特性,浏览器若没有更新版本,或者新版本中没有对ES6的特性 ...

  4. IE 浏览器不支持 ES6 Array.from(new Set( )) SCRIPT438: 对象不支持“from”属性

    [转]解决老浏览器不支持ES6的方法 现象: Array.from(new Set( )) SCRIPT438: 对象不支持“from”属性或方法   解决方法: 安装babel 引入browser. ...

  5. sublime3支持es6语法和vue彩色显示

    支持ES6语法设置: 首先安装nodejs 当然你可以使用其它诸如jsc之类的环境来运行js, 本文使用的是nodejs. 首先确保你的电脑已经安装好nodejs, 并已将其添加到环境变量中 (一般安 ...

  6. ES6 import

    ES6标准发布后,module成为标准,标准的使用是以export指令导出接口,以import引入模块,但是在我们一贯的node模块中,我们采用的是CommonJS规范,使用require引入模块,使 ...

  7. ES6 import 引用文件夹/目录及其处理过程

    1.现象 看redux的时候发现官网的教程里直接import了一个文件夹,我再三确定没有看错, 是一个 文件夹 (Directory), 它直接 import了一个目录!这个 文件夹/目录 底下还有一 ...

  8. es6 import 报错

    现在绝大多数的浏览器都不支持ES6,所以使用es6时需要使用bebal把es6转化为es5, 项目目录: demo1:单个js文件的转化 src文件下的 test1.js const aa=" ...

  9. 解决老浏览器不支持ES6的方法

    转载地址:http://www.rockyxia.com/?p=669 为什么ES6会有兼容性问题? 由于广大用户使用的浏览器版本在发布的时候也许早于ES6的定稿和发布,而到了今天,我们在编程中如果使 ...

随机推荐

  1. mysql外键理解

    一个班级的学生个人信息表: 什么是外键 在设计的时候,就给表1加入一个外键,这个外键就是表2中的学号字段,那么这样表1就是主表,表2就是子表. 外键用来干什么 为了一张表记录的数据不要太过冗余. 这和 ...

  2. 安装 python 数据分析插件 pandas

    一上午试验了各种方法,发现利用pycharm是最快的.可以抛弃版本,命令和兼容问题的烦恼.纯粹傻瓜式 方法是 pycharm, 直接在settings里面,搜索pandas,添加即可,他会把所有之前需 ...

  3. LR----实现WebService测试

    测试WebService时,需要导入WSDL:同SoapUI WSDL:http://ws.webxml.com.cn/webservices/DomesticAirline.asmx?wsdl 场景 ...

  4. 设计模式--装饰模式C++实现

    装饰模式C++实现 1定义 动态地给一个对象添加一些额外的职责.就增加功能来说,装饰模式比生成子类更加灵活.可作为继承的替代 2类图 3实现 //构件 class Component { protec ...

  5. TLS就是SSL的升级版+网络安全——一图看懂HTTPS建立过程——本质上就是引入第三方监管,web服务器需要先生成公钥和私钥,去CA申请,https通信时候浏览器会去CA校验CA证书的有效性

    起初是因为HTTP在传输数据时使用的是明文(虽然说POST提交的数据时放在报体里看不到的,但是还是可以通过抓包工具窃取到)是不安全的,为了解决这一隐患网景公司推出了SSL安全套接字协议层,SSL是基于 ...

  6. This function has none of DETERMINISTIC, NO SQL解决办法

    This function has none of DETERMINISTIC, NO SQL解决办法 创建存储过程时 出错信息: ERROR 1418 (HY000): This function ...

  7. 使用Unity创建塔防游戏(Part3)—— 项目总结

    之前我们完成了使用Unity创建塔防游戏这个小项目,在这篇文章里,我们对项目中学习到的知识进行一次总结. Part1的地址:http://www.cnblogs.com/lcxBlog/p/60759 ...

  8. Django中类视图使用装饰器的方式

    类视图使用装饰器 为类视图添加装饰器,可以使用两种方法. 为了理解方便,我们先来定义一个为函数视图准备的装饰器(在设计装饰器时基本都以函数视图作为考虑的被装饰对象),及一个要被装饰的类视图. def ...

  9. L171

    As much as we thirst for approval, we dread condemnation.我们渴望赞许,同样也害怕受到指责.If somebody's father was o ...

  10. CS231n课程笔记翻译1:Python Numpy教程

    译者注:本文智能单元首发,翻译自斯坦福CS231n课程笔记Python Numpy Tutorial,由课程教师Andrej Karpathy授权进行翻译.本篇教程由杜客翻译完成,Flood Sung ...