Node.js的学习与使用
程序员文章站
2022-04-18 18:30:44
...
Node.js是一个基于Chrome V8引擎的Javascript运行环境的后端语言。
1.特点:
1.事件驱动
2.非阻塞式I/O
2.Node.js 的包管理器 npm,是全球最大的开源库生态系统。
3.浏览器 vs node
- 异:
- node里面没有 BOM DOM
- node多了很多自带的api
- 同:
- 都是chrome v8
- 都支持js
- 都支持 ECMA Script
4.Node.js命令行退出
two times ctrl+c
5.Node.js文件的运行
- node 文件名称(后缀可以不要)
- 键盘上下键可以前进和回退命令
6.Node.js自定义模块步骤:
- 定义
对象 函数 字符串 - 导出
module.exports || exports - 使用
const 变量名称 = require(‘模块名称’) - 扩展
需求: 安全性考虑 封装一下下 {}
eg:
1. 定义
const age = {
name: 'Yyb',
age: 16
}
2. 导出
module.exports = {
age: age.age,
name: age.name
}
exports.age = age
3. 使用
// const age = require('age') X 理由: age不是内置模块或是第三方模块
const age = require('./age.js')
console.log( age.name );
console.log( age.age );
7.自定义发布一个包(带有一定功能,),别人可以随意下载, 使用
操作流程
1.创建一个文件夹
2.创建pageage.json
Yarn init / npm init /cnpm init
快速创建 npm init -y / yarn init -y /cnpm init -y
3.注册npm仓库
www.npmjs.com注册一个账号
命令行执行 npm adduser(必须确保你当前的源是npmjs,使用nrm来切换源)
4.上传包
npm publish
8.Node.js内置了很多的模块
- fs(文件系统)
- path( 磁盘路径 )
- http( 通信 )
使用:- 导入
const 变量名称 = require(‘模块名称’) - 使用模块的api
- 导入
9.返回上一级的方法
方法1.console.log( path.resolve(__dirname,'../'))
方法2.console.log( path.join(__dirname,'../'))
10.Node.js中第三方模块如何使用?
https://www.npmjs.com/
- 安装
- 初始化生成 package.json
- 安装对应的包
举例: npm i request -g/-D/-S
名词说明:
-g -global 全局
-D / --save-dev 开发环境
-S / -save 生产环境 - 导入
request 用来做数据请求的 - 使用
www.npmjs.com
eg:
const request = require('request');
request('https://api.douban.com/v2/movie/in_theaters',function(error,response,body){
console.log('====================================');
console.log('error',error)
// console.log('response',response);
console.log('body',JSON.parse(body))
console.log('====================================');
})
11.自动监听(自动更新, 自动刷新)Node.js文件的更新和变化( 工具 nodemon supervisor)
使用淘宝镜像
- 工具安装
cnpm i nodemon -g (i==> install g ==> global) 推荐
cnpm i supervisor -g
- 使用:
nodemon 文件名称
supervisor 文件名称 - 注意事项:
问题: supervisor 会出现死循环 ?
分析: 内容一致在改变
解决: vs code 开了自动保存
12.nvm 使用
- 安装:
nvm install vsersion
举例: nvm install v10.8.0 || nvm install 10.8.0 || nvm install latest(最新版本) - 切换Node.js版本
nvm use vsersion
举例: nvm install v10.8.0 - 查看当前电脑中 Node.js的所有版本
nvm list
13.前端模块化
- CMD ( sea.js ) 不更新 通用模块
- AMD ( require.js ) 异步模块
- Common.js(node.js使用该规范)
- es6模块化
CMD 和 AMD
define 定义模块
Node.js中使用了Common.js规范(三类)
1. 内置的
2. 第三方的
3. 自定义的
14.前端的环境
- 开发环境
- 生产环境
- 测试环境
- 预发布环境
- 上线环境
上一篇: 关于编码,乱码