Node的初识

模块系统

在Node.js中,一个js文件就称之为一个模块(Module)。

文件名就是模块名。

1.模块概述

模块系统:将一个大型程序拆分为一个一个的小模块,通过模块的拼装来完成整个项目。

在ES6之前,JavaScript并没有模块系统。社区提供了很多的解决方案:CommonJS、AMD等方法。

Nodejs中的模块系统,使用的就是CommonJS的方案。(require、exports/module.exports)

ES6中,JavaScript新增了模块系统(import、export)

导出:规定了模块中哪些内容可以被别人导入(使用)

导入:指定导入哪些模块的哪些内容

2.模块的分类

在Node中,模块分为两类:一类是Node提供的模块,称为核心模块;另一类是用户编写的模块,称为文件模块。

2.1内置模块/核心模块

导入内置模块使用require("模块名")

代码示例:

//导入内置模块/核心模块
let path=require("path");//导入系统内置的path模块
console.log(path);

let fs=require('fs');

console.log(fs);

//网络请求
let http=require('http');
console.log(http);

2.2 文件模块

文件模块常见的有:自定义模块、第三方模块

2.2.1 自定模块

导入:require();

导出:exports module.exports

使用exports导出:

//导出一个内容

exports.a=10;
exports.b=20;
exports.fn=function(){
console.log('1234243');
}

class Man{
constructor(){}
say(){
console.log('说话....');
}
}

emplyee模块:

// exports.xy = 'hello';
// exports.name = '李四';
// exports.age = 20;
// exports.fn = function () {
// console.log(11);
// }

// exports.Man = class {
// constructor() { }
// say() {
// console.log(111);
// }
// }

let xy = 'hello';
let name = '李四';
let age = 20;
let fn = function () {
console.log(11);
}

class Man {
constructor() { }
say() {
console.log(111);
}
}


//批量导出
exports.myData = {
xy, name, age, fn, Man
}

创建app.js,在里边导入person.js模块:

let xx=require('./person');//{ a: 10, b: 20, fn: [Function (anonymous)] }
let { a } = require('./user');//导入的同时,解构
let em=require('./emplyee');


console.log(xx);

console.log(xx.a);
console.log(xx.b);
xx.fn();

2.2.2 第三方模块

在开发中,经常会使用其它开发者开发的代码模块(第三方模块);

下载第三方模块到工程中

步骤如下:

1.创建一个工程
2.在终端中运行 npm init     项目初始化
3.下载指定的第三方模块   npm install 包名
4.使用 导入第三方模块  
require("模块名称");

示例:

//导入第三方模块
let $=require("jquery");

console.log($);

 

上一篇:javaScript模块化解析


下一篇:自定义FCKEditor中的“样式”