Nodejs种的模块化
这篇博客主要作为扩展,在ES6之前的JS是没有模块化的,但是NodeJS是有着一个名为commomJS的模块化规范。后来ES6有了Module模块化规范之后,在项目开发中,NodeJS和JS就有着两套模块化规范。使用时十分不方便,所以在NodeJS的后续更新中也支持了ES6的Module的模块化规模,但是需要手动更改package.json配置文件,不然默认的是commonJS模块化规范。
CommonJS规范
首先新建一个01.js文件
function A1(){
console.log("A1")
}
function _a1(){
console.log("a1")
}
function A2(){
console.log("A2")
}
module.exports = A1 // commonjs的导出写法
在新建一个index.js文件
const obj = require("./01.js") // commonjs 的导入写法
console.log(obj)
如你所见,commonjs规范导入的和ES6模块的第一种写法一样也是一个对象,所以导出多个方法,直接采用对象写法就可以了
module.exports = {
A1,
A2
}
当然commonjs也有第二种写法,不过区别不大
function A1(){
console.log("A1")
}
function _a1(){
console.log("a1")
}
function A2(){
console.log("A2")
}
exports.A1 = A1
exports.A2 = A2
效果和第一种一模一样。
NodeJS中的ES6模块化
生成Node项目,在package.json文件中更改type为module即可
01.js中
function A1(){
console.log("A1")
}
function _a1(){
console.log("a1")
}
function A2(){
console.log("A2")
}
export {
A1,
A2
}
index.js中
import { A1,A2 } from "./01.js";
console.log(A1,A2)
这里关于ES6的module的写法就不做过多赘述,有兴趣可以看我的上一篇博客。