node.js中使用Export和Import的方法


Posted in Javascript onSeptember 18, 2017

Nodejs 6.x版本还没有支持export 和import

import与export是es6中模块化的导入与导出,node.js现阶段不支持,需要通过babel进行编译,使其变成node.js的模块化代码。(关于node.js模块,可参考其他node.js模块化的文章)

继续使用exports和require

test.js

class Point {
  constructor(x, y) {
    this.x = x;
    this.y = y;
  }

  add (){
    this.x = this.x ? this.x : 1;
    this.y = this.y ? this.y : 2;
    return this.x + this.y;
  }
}
const PI = 3.1415926;
exports.Point = Point;
exports.PI = PI;
let a = new Point();
console.log(a.add());

test2.js

let {Point,PI} = require('./test.js');
class Point2 extends Point{

  //add();
}

let b = new Point2();
console.log(b.add());
console.log(PI);

使用babel来支持export 和 import

在package.json增加 babel的配置

"babel": {
  "presets": ["es2015"]
 },
 "scripts": {
  "start": "node app/51job.js",
  "build": "babel src -d app"
 },

安装babel相关模块

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

在命令行使用 npm run build 就可以把src目录下的所有javascript文件转换为标准javascript代码到lib目录。async和await都可以使用了。

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
Mar 07 Javascript
html+javascript实现可拖动可提交的弹出层对话框效果
Aug 05 Javascript
JS获取键盘上任意按键的值(实例代码)
Nov 12 Javascript
浅谈javascript中for in 和 for each in的区别
Apr 23 Javascript
JS对字符串编码的几种方式使用指南
May 14 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
Dec 14 Javascript
JavaScript中的操作符类型转换示例总结
May 30 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
Oct 10 Javascript
深入理解jquery中的each用法
Dec 14 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
Oct 25 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
Mar 26 Javascript
如何通过JS实现转码与解码
Feb 21 Javascript
inner join 内联与left join 左联的实例代码
Sep 18 #Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
Sep 18 #Javascript
vue多种弹框的弹出形式的示例代码
Sep 18 #Javascript
JavaScript实现body内任意节点的自定义属性功能示例
Sep 18 #Javascript
node+express+ejs使用模版引擎做的一个示例demo
Sep 18 #Javascript
jQuery实现对网页节点的增删改查功能示例
Sep 18 #jQuery
详解node服务器中打开html文件的两种方法
Sep 18 #Javascript
You might like
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
php下使用iconv需要注意的问题
2010/11/20 PHP
php5.4传引用时报错问题分析
2016/01/22 PHP
js 数据类型转换总结笔记
2011/01/17 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
jQuery中:first选择器用法实例
2014/12/30 Javascript
javascript判断元素存在和判断元素存在于实时的dom中的方法
2017/01/17 Javascript
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
一些手写JavaScript常用的函数汇总
2019/04/16 Javascript
Promise扫盲贴
2019/06/24 Javascript
详解JS深拷贝与浅拷贝
2020/08/04 Javascript
vue大型项目之分模块运行/打包的实现
2020/09/21 Javascript
一篇超完整的Vue新手入门指导教程
2020/11/18 Vue.js
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
解决Python 中英文混输格式对齐的问题
2018/07/16 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
2019/04/01 Python
Python Gitlab Api 使用方法
2019/08/28 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
利用Python中的Xpath实现一个在线汇率转换器
2020/09/09 Python
三星美国官网:Samsung美国
2017/02/06 全球购物
Java的五个基础面试题
2016/02/26 面试题
英语感恩演讲稿
2014/01/14 职场文书
数控技术应用个人求职信范文
2014/02/03 职场文书
青年安全生产示范岗事迹材料
2014/05/04 职场文书
文明之星事迹材料
2014/05/09 职场文书
工地例会施工汇报材料
2014/08/22 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
培训班开班主持词
2015/07/02 职场文书
外出听课学习心得体会
2016/01/15 职场文书
浅谈redis缓存在项目中的使用
2021/05/20 Redis
HTML5页面音频自动播放的实现方式
2021/06/21 HTML / CSS
总结高并发下Nginx性能如何优化
2021/11/01 Servers