2020/2/1 nodejs部分易忘点回顾
作者:互联网
1. 什么是Node.js?
Node.js是一个基于chrome v8引擎的JS运行环境。
去除了前端的部分功能,添加上后端的功能,包含:文件操作、数据库操作、网络通信...
2. Node.js和JavaScript的区别
JavaScript是一门编程语言,编写的代码需要运行环境才能运行。运行环境:浏览器、Node.js
Node.js是一个JS的运行环境,可以执行JS编写的代码。
3. DOS命令行【重点】
1) 运行DOS命令行
win+R 弹出运行框
在运行框中输入 cmd ,回车
2) 常用的DOS命令
dir 查看当前文件夹中的文件及子文件夹列表
e: 切换盘符
cd 进入目录
cd .
cd ..
cd 目录名
cd /
cls 清除屏幕
exit 退出
ipconfig 查IP地址
netstat -ab 查端口
4. 运行nodejs
1) REPL方式
命令: node 进入REPL交互程序运行模式
退出:.exit
2) 执行js文件【重点】
node 文件名.js
需求:编写一个加法模块,运行时输出执行结果
5. nodejs模块基础
1) 什么是模块?
一个文件就是一个模块,模块与模块之间存在依赖关系,node.js可以对这个关系 进行管理(暴露和引入),就是模块化
2) 自定义模块
创建一个 .js文件
module.exports暴露对象
3) 使用模块
var 变量=require('模块名');
4) 主模块
被 node命令直接 运行的模块就是主模块,通常命名为:
index.js main.js app.js 在 package.json的main属性中
6. 模块进阶
1) 模块组成
arguments 函数的内置对象,只能在函数内部有效。
作用1:接收所有的实际参数
作用2:调用函数自身
2) 模块化
node.js将所有用户编写的代码放在一个函数中执行,并传入五个参数,所有用户定义的变量和函数都是内部,相互不影响。
function (exports, require, module, __filename, __dirname) {
//用户编写的代码
}
__filename 当前模块的文件名(完整路径)
__dirname 当前模块的路径
3) require函数
可以引入的模块有:
系统模块:官方开发的模块,直接引入即可使用
第三方模块:除了自己开发的和官方开发以外,其它公司和团队开发的模块就是第三方模块
先安装
再使用
自定义模块:路径必须正确,如果是当前目录,必须写 ./
4) module模块对象
module是模块对象,拥有很多属性和方法:
.id 模块名称,主模块则为 .
.exports 【重点】真正的暴露对象,指向谁就暴露谁
.parent 父模块
.children 子模块
.paths 查看模块的路径
5) exports暴露对象
exports是对 module.exports 的引用,只能用于暴露新增的属性和方法
7. 包
1) 什么是包?
一个文件就是一个模块
一个项目就是一个包
2) 包描述文件 package.json
package.json是node.js项目的描述文件,也称为包描述文件。 每一个node.js项目都要有一个package.json。
3) 创建包描述文件
npm init //一步一步创建package.json文件
npm init -y //全部以默认值快速创建package.json文件
4) package.json的属性
name 项目名称
version 版本
description 项目描述
main 主模块
dependencies 依赖,上线以后还需要
devDependencies 开发依赖,开发项目时需要用,上线以后就不需要了
8. npm【重点】
1) 什么是npm?
npm是node.js的包管理工具,可以用于对node.js的包进行安装、卸载、更新、查询等等操作
2) 使用npm
a. 安装包
npm install 包的名称 //安装包
npm i 包的名称 //安装包,简写
npm i 包的名称 -g //全局安装,C:\Users\登陆用户名\AppData\Roaming\npm
npm i 包的名称 --save-dev //将安装的包加入开发依赖
npm i 包的名称@版本号 //安装指定的版本
npm i //查找package.json中记录的依赖,全部安装
b. 卸载包
npm uninstall 包的名称
3) cnpm
cnpm是淘宝开发团队提供的npmjs.org镜像,可以在国内的服务器下载,提高npm下载速度
a. 安装
npm install -g cnpm --registry=https://registry.npm.taobao.org
b. 使用
用法与 npm 一样
cnpm i jquery
标签:npm,node,nodejs,package,js,json,2020,模块,易忘点 来源: https://blog.csdn.net/weixin_42619900/article/details/104133339