·# 模块
require: node 和 es6 都支持的引入
export / import : 只有es6 支持的导出引入
module.exports / exports: 只有 node 支持的导出
CommonJS 规范定义的模块分为:
模块标识(module)
模块定义(exports)
模块引用(require)
- exports 暴露值和函数
//my.js
var name = 'jack';
exports.name = name;
exports.user = 'lily';
//require
var myname = require("./my.js");
var show = function() {
}
exports.show = show;
exports.show = function(){
}
var myshow = require('./my.js');
myshow.show();
-
module.exports 暴露类
-
require(“安装的包”)
-
require("./package/自定义的文件")
ES6中的模块导出导入
现阶段的node.js不支持export,export default
1,在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
export 和 export default
1、export与export default均可用于导出常量、函数、文件、模块等
2、你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用
3、在一个文件或模块中,export、import可以有多个,export default仅有一个
4、通过export方式导出,在导入时要加{ },export default则不需要
// user.js
export var username = 'jack';
export var userpwd = '123456';
//main.js
import {username,userpwd} from './user.js'