es5 方式 :
01.js:
const sum = function(a,b){
return a + b;
}
const subtract = function(a,b){
return a - b;
}
//把對應的方法暴露出去以供調用
module.exports = {
f_sum: sum,
//sum //可以默認使用原函數名
//f_sub: subtract
subtract //可以默認使用原函數名
};
02.js:
//引入模塊
const math = require('./01.js');
console.log(math.f_sum(5,6));
//console.log(math.f_sub(10,3));
console.log(math.subtract(8,3));
在命令窗口使用node運行:
node .\02.js
結果如下:
================================================================================================
es6方式,又分爲兩種:
第一種:
01.js:
//直接註明方法暴露
export function getMessage(){
console.log("getMessage....");
}
export function getData(){
console.log("getData...");
}
02.js:
//引入對應的暴露方法
import {getMessage,getData} from './01.js';
getMessage();
getData();
需要注意的是,nodejs不能直接運行es6模塊化代碼(普通es6代碼可以),需要經過babel轉碼後再使用nodejs運行,結果如下:
第二種:
01.js:
export default({
getInfo(){
console.log("info....");
},
getCode(){
console.log("code....");
}
});
02.js:
//引入模塊併爲其設置別名
import data from './01.js';
//調用方法
data.getInfo();
data.getCode();
然後用babel轉碼,nodejs運行,得到結果: