require VS import
require
Commonjs的规范
import
ES6为js模块化提出的新的语法,import (导入)要与export(导出)结合使用
注:
(1) require统治了ES6之前的所有模块化编程,即使现在,在ES6 module被完全实现之前,
还是这样
(2) 由于历史原因,虽然Node.js已经实现了99%的ES6新特性,采用的却是CommonJS规范
使用require引入模块,使用module.exports导出接口
require 示例
// a.js
function sum(x, y, z) {
return x+y+z;
}
let A = 123
module.exports = {
sum, A
};
// b.js
let { sum, A } = require('./a.js');
console.log(sum(1, 2, 3))
console.log(A)
import 示例
在node 要中使用import/export的方法,必须引入babel转义支持,
通过babel进行编译,使其变成node的模块化代码
1 全局安装 babel-cli
npm install babel-cli -g
2 安装 babel-preset-env
npm install babel-preset-env -D
3 原来是 node **.js,改为这样调用:babel-node --presets env **.js
代码示例
// a.js
let myName = "koukou";
let myAge = 18;
let myfn = function(){
return "我是"+myName+"!今年"+myAge+"岁了"
}
export {
myName as name,
myAge as age,
myfn as fn
}
// b.js
import {fn,age,name} from "./a.js";
console.log(fn())