Node.js的介绍和安装就直接略过了吧!!!
Node.js采用的是CommonJs规范,在Node.js中,一般将代码合理拆分到不同的JS文件中,每一个文件就是一个模块,而文件路径就是模块名。
Node.js中模块的分类:
- 核心模块(已封装内置模块);
- 自定义的模块;
- 第三方的模块(npm);
1.require
require
函数用来导入,传入一个模块名,返回一个模块导出对象。
require()函数用两个作用:
- 执行导入的模块中的代码;
- 返回导入模块中的接口对象;
用法:let 自定名称 =require("模块名")
例如:let main = require('./main.js')
- 在没有任何内容导出去的情况下获取,导入得到一个空对象。
- require获取文件路径时,可以不加后缀名,默认的后缀名就是js。例:
let main = require('./main')
2.exports和module.exports
exports
用来导出当前模块的公共方法或属性。
module.exports
用来导出一个默认对象。
用法:exports.a = a;
module.exports.c = c;
exports.a1 = function () {
console.log(a1)
}
module.exports = function () {
console.log(a2)
}
- 系统默认:exports = module.exports;
- 注意使用exports时,只能单个设置属性exports.a = a;
- 使用module.exports可以单个设置属性,也可以整个赋值;
3.模块的初始化
模块中的js代码仅在模块第一次被使用时执行一次,并且在使用的过程中进行初始化,之后缓存起来便于后续继续使用。
完整示例:
index.js
文件,里面定义了一个求和的函数。
var a = 1;
function add () {
return ++a;
}
exports.add = add
//或者module.exports.add = add
在项目的主模块 main.js
中引入index.js
。
var index1 = require('./index')
var index2 = require('./index')
console.log(index1.add()) //结果为2
console.log(index2.add()) //结果为3
可以看出index.js
没有因为引入两次而初始化两次,说明模块只会在执行的过程中被初始化一次。
附上npm常见命令:
-
npm -v
:查看npm版本。 -
npm init
:初始化后会出现一个package.json
配置文件。可以在后面加上-y
,快速跳过问答式界面。 -
npm install
:会根据项目中的package.json
文件自动下载项目所需的全部依赖。 -
npm install 包名 --save-dev
(npm install 包名 -D
):安装的包只用于开发环境,不用于生产环境,会出现在package.json
文件中的devDependencies
属性中。 -
npm install 包名 --save
(npm install 包名 -S
):安装的包需要发布到生产环境的,会出现在package.json文件中的dependencies
属性中。 -
npm list
:查看当前目录下已安装的node包。 -
npm list -g
:查看全局已经安装过的node包。 -
npm --help
:查看npm帮助命令。 -
npm update 包名
:更新指定包。 -
npm uninstall 包名
:卸载指定包。 -
npm config list
:查看配置信息。 -
npm 指定命令 --help
:查看指定命令的帮助。 -
npm info 指定包名
:查看远程npm上指定包的所有版本信息。 -
npm config set registry https://registry.npm.taobao.org
: 修改包下载源,此例修改为了淘宝镜像。 -
npm root
:查看当前包的安装路径。 -
npm root -g
:查看全局的包的安装路径。 -
npm ls 包名
:查看本地安装的指定包及版本信息,没有显示empty。 -
npm ls 包名 -g
:查看全局安装的指定包及版本信息,没有显示empty。
今天只有学习了,没有购物剁手,因为我没钱,哈哈!
日期:2021/11/11
学习参考视频:https://www.bilibili.com/video/BV1i7411G7kW?p=2&t=3157.7