Javascript

关于node.js模块化入门

本文主要是介绍关于node.js模块化入门,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

什么是模块化?

将一个大且复杂的程序,分成若干个小块进行组合。模块化后是可以进行组合,分解和可替换的。

举个例子:听说航母的大致结构就是使用模块化建造的,由于航母的体型巨大,使用模块化有利于建造,且部分受到攻击时,对整个航母没有太大的威胁,可以换掉受损的部分,利于维修。

编程领域的模块化

模块化的优点:

1.按需加载
2.高复用性
3.高维护性

模块化的规范

模块化的规范就是对代码拆分,组合时所要遵守的规范。

例如:● 如何引用模块

           ● 在模块中如何向外暴露成员

node.js模块化的三大类

1.内置模块(由node.js官方提供)

2.自定义模块(由用户创建的js文件)

3.第三方模块(由第三方开发的)

node.js加载模块require()方法

使用require()方法,可以加载需要的内置模块,自定义模块,第三方模块。

const fs = require('fs')  //内置模块

const custom = require('./custom.js')   //自定义模块

const moment = require('moment')   //第三方模块

注意:使用require()方法加载其他模块时,会执行被加载模块中的代码。

什么是模块的作用域

在自定义模块中定义的变量,方法等都只能在当前模块内部被访问,这种模块访问的限制就是模块的作用域。

模块作用域的好处是,防止全局变量被污染

module对象

在js每个自定义模块中都有一个module对象。

module.exports对象

使用module.exports对象,可以把模块内的成员共享出去,给外界使用。

外界使用require()方法导入自定义模块时,得到的就是module.exports所指的对象。

❉ 使用require()方法导入模块时,导入的结果,永远是module.exports指向的对象

exports对象

exports是module.exports的简写,默认情况下exports和module.exports指向同一个对象。最终结果还是已module.exports为准。

注意:为了防止混乱,建议不要在同一个模块中使用module.exports和exports.

node.js模块化规范

CommonJS规定:1.每个模块内部,module变量代表当前模块

                          2.module变量是一个对象,它的exports属性是对外接口

                    3.加载某个模块,其实是加载模块的module.exports属性。require()方法用于加载模块

什么是包和npm的使用

包就是第三方模块。

使用npm包管理工具

使用npm格式化时间

const moment = reqire('moment')   //导入moment包

const dt = moment().format('YYYY-MM-DD HH:mm:ss')   //格式化时间

console.log(dt)   //输出2021-10-6 21:39:39

包的版本

第一位数大版本       
第二位数功能版本
第三位数BUG修复版本

版本号提升的规则:只要前面的版本号增长了,则后面的版本号归零。

创建package.json

创建package.json的配置文件,可以记录项目中安装了那些包。有一个dependencies节点,用来记录你使用npm install命令安装了那些包

一次性安装所有包

运行npm install命令可以一次性安装所有依赖包

卸载包

运行npm uninstall命令,来卸载指定的包

使用淘宝NPM镜像服务器可以解决下载包慢的问题

           

这篇关于关于node.js模块化入门的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!