module.exports、exports、export、import、export default区别

CommonJs规范:module.exports、exports

module.exports和exports 是commonJs的语法,大家熟知的node就是基于CommonJs语法设计的,node将每个文件视为一个拥有独立作用域链的模块,

每个木块的类,变量,函数等都是私有的,对其他文件不可见。但是,如果别的模块想要使用另一个模块的函数应该如何处理呢,这时我们就会用到module.exports、exports了。

node将每个独立的文件视为一个mudule,而exports是为了将本模块内的变量函数暴露给外面使用的写在module对象上的接口,因此使用时可以通过module.exports来说暴露内部接口到外面:

// add.js
let a = 123;
let add = function (val) {
  return val + a;
};
module.exports.a = a;
module.exports.add = add;

使用时:

// index.js
var add = require(‘./add.js‘);
console.log(add.a); // 123
console.log(add.add(1)); // 124

另外:
node为了方便使用会给每个模块头部提供一个exports变量,内部实现很简单var exports = module.exports;

因此,我们也可以,直接:
exports.add = add 将上面add.js的add函数暴露出去。

ES6模块规范:export、import、export default
Es6使用 export 和 import 来导出、导入模块

// index.js
var name = ‘zhangsan‘;
var age = ‘12‘;
var sex = ‘man‘;

export {name, age, sex};

或者

export default function () {
  console.log(‘123123‘);
}

  

原文地址:https://www.cnblogs.com/mrbabibo/p/11395906.html

时间: 2024-11-08 07:11:06

module.exports、exports、export、import、export default区别的相关文章

彻底搞懂 module.exports/exports/import/export/export default

module.exports/exports module.exports 是模块系统创建的(全局内置对象):当你创建完成一个模块时,需要将此模块暴露出去,以便使用:module.exports 便提供了暴露出去的接口方法: 例如暴露出去一个对象(暴露一个全局变量或方法): /**创建模块 module.exports.js */ let object = { name: 'zhangsan', age: 24, hasSay: () => { console.info('This is zha

[Hive - LanguageManual] Import/Export

LanguageManual ImportExport Skip to end of metadata Added by Carl Steinbach, last edited by Lefty Leverenz on May 14, 2013  (view change) show comment Go to start of metadata Import/Export Import/Export Overview Export Syntax Import Syntax Examples V

module.exports,exports,export和export default,import与require区别与联系

还在为module.exports.exports.export和export default,import和require区别与联系发愁吗,这一篇基本就够了! 一.首先搞清楚一个基本问题: module.exports和exports是属于CommonJS模块规范!(不清楚commonjs?大神请这边逛一逛commonjs规范) export和export default是属于ES6语法(不清楚ES6?大神请这边逛一逛ES6模块)! 同样import和require分别属于ES6和Common

【原创】module.exports和exports export和export default import和require区别与联系一次性解决

还在为module.exports.exports.export和export default,import和require区别与联系发愁吗,这一篇基本就够了! 一.首先搞清楚一个基本问题: module.exports和exports是属于CommonJS模块规范!(不清楚commonjs?大神请这边逛一逛commonjs规范) export和export default是属于ES6语法(不清楚ES6?大神请这边逛一逛commonjs规范)! 同样import和require分别属于ES6和C

module.exports,exports,export和export default,import与require区别与联系【原创】

还在为module.exports.exports.export和export default,import和require区别与联系发愁吗,这一篇基本就够了! 一.首先搞清楚一个基本问题: module.exports和exports是属于CommonJS模块规范!(不清楚commonjs?大神请这边逛一逛commonjs规范) export和export default是属于ES6语法(不清楚ES6?大神请这边逛一逛ES6模块)! 同样import和require分别属于ES6和Common

module.exports 、 exports、export、 export default的区别

module.exports和exports是属于 CommonJS 模块规范,export和export default是属于ES6语法. module.exports和exports导出模块,用require引入模块. export和export default导出模块,import导入模块. Node应用由模块组成,采用CommonJS模块规范.根据这个规范,每个文件就是一个模块,有自己的作用域.在一个文件里面定义的变量.函数.类,都是私有的,对其他文件不可见. CommonJS规范规定,

module.exports与exports,export与export default的区别

Node使用CommonJS规范,定义每个模块的内部,module变量代表当前模块,exports是module的属性,表示对外的接口.加载某个模块,实际上是加载该模块的module.exports属性.Node为每隔模块提供了一个exports变量,指向module.exports,这等同于每个模块头部有这样的一行代码:var exports = module.exportsES6使用export和import来导出/导入模块.3.1 export与export default均可用于导出常量

module.exports和exports export和export default

还在为module.exports.exports.export和export default,import和require区别与联系发愁吗,这一篇基本就够了! 一.首先搞清楚一个基本问题: module.exports和exports是属于CommonJS模块规范!(不清楚commonjs?大神请这边逛一逛commonjs规范) export和export default是属于ES6语法(不清楚ES6?大神请这边逛一逛commonjs规范)! 同样import和require分别属于ES6和C

exports与module.exports的区别,export与export.defult区别

在JS模块化编程中,之前使用的是require.js或者sea.js.随着前端工程化工具webpack的推出,使得前端js可以使用CommonJS模块标准或者使用ES6 moduel特性. 在CommonJs模块标准中我们载入模块使用的是require(),输出模块用的是exports或者module.exports 在ES6中载入模块我们用的是import ,输出模块用的是export exports与module.exports的区别 //载入模块 var m = require('./mo

关于common.js里面的module.exports与es6的export default的思考总结

背景 公司项目需要裁切功能,基于第三方图片裁切组件vue-cropper(0.4.0版本),封装了图片裁切组件(picture-cut)(放在公司内部组件库,仅限于公司内部使用) 在vue-cropper从0.4.0更新到0.4.4后,picture-cut组件使用裁切功能时报错 vue-cropper0.4.0的index.js文件导出方式如下 var vueCropper = require('./vue-cropper') module.exports = vueCropper vue-c