Commit f169c1b0 authored by fireMan-34's avatar fireMan-34

📃 docs: node 第五次相遇

parent a90144aa
/**
* 分别用 node 启动和 nodemon 启动
* 如果不想在 shell 命令的话, 可以在 package 里面启动
* 启动前确保自己的 终端是在 当前可视区域内,这样才能看到两者的区分
*/
console.log('启动');
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
// 无头浏览器模式
headless: 'new',
// 自定义使用数据文件夹,无的话,应该是走末日文件夹共用
// 这些文件夹放着我们书签、插件、临时文件……
// userDataDir: '',
// 启动参数
args: [
// 后面补充
// 可以实现跨域等功能
]
});
const page = await browser.newPage();
// 接下来就说愉快的脚本工作了
// 回收浏览器实例
browser.close();
})();
\ No newline at end of file
{
"name": "study5",
"version": "1.0.0",
"description": "学习 node 常见第三方模块",
"main": "index.js",
"author": "fire",
"license": "MIT",
"private": true,
"scripts": {
"useNodeStart": "node index.js",
"useNodeMonStart": "nodemon index.js"
},
"dependencies": {},
"devDependencies": {
"nodemon": "^2.0.22",
"puppeteer": "^20.7.4"
}
}
This diff is collapsed.
# 这一节,我会推荐比较常用的基于 node.js 环境的模块
# 这一节,我会推荐比较常用的基于 node.js 环境的模块
## 功能
### nvm
node 多版本切换 不过一个系统只能允许一个当前环境。
### 无头浏览器 Puppeteer
没有界面的浏览器,提供可编程的 api 接口。有了这个我们可以实现自动化测试,自动化脚本,爬虫,操作浏览器执行某些操作
### Hexo 博客框架
比较旧的博客框架,可以把自己 markdown 的打包成网。
早些年间非常流行,因为时代的原因,没有现代组件化的概念,开发样式不是很方便。
本身架构层面还是及其优秀,提供了良好的扩展性,以及它的架构能力,对流程处理进行了解耦。
### NextJs
一款高效的前端框架,提供了良好基础配置,例如 ts、tsx 的支持,以及快速构建能力
### Koa
小而美的服务器框架,提供了良好的中间件模式,方便我们集成各种中间件,其洋葱圈模型也让提供了请求处理,响应处理的机制。
### Express
Koa 前身, 相对于 Koa 有了不少更多的插件即成。
### Nest
没有接触过,听说是一款比较好的企业级服务器框架。即成了 ts、注解(装饰器)、切面、依赖注入,内聚了不少开箱即用的功能
### axios
没想到吧, axios 其实是同构包,通过适配器,抽象出一个请求,通过判断当前全局实例来确定对应的请求适配器,可以在 浏览器、node.js 环境下工作
### shellJS
跨平台的执行 shelljs 命令,让你可以你熟悉的方式编写 shell 脚本
### http-server
启动一个 http-server 服务器,我们就可以不用本地配置 nginx 来查看自己打包后的项目了。
### commander
命令行解析库,提供了参数解析、可选项解析等
### inquirer
交互式命令,比如说命令行会弹出一个窗口让你输入某些东东。
### chalk
更加美观等 console 打印
## 开发
### 持续的热更新模块 nodemon
- `nodemon`, 这个模块提供多平台监视当前执行目录所在文件夹下的所有文件变更并重新启动 node 命令,可以默认全局安装,也可以集成到自己项目里面。
使用上非常简单 `node index.js` => `nodemon index.js` 这样直接就可以持续更新,配合我们 vscode 的命令行窗口,我们可以做到热更新开发。
如果是基于 ts-node 可以采用 `ts-node-dev` 这个包来保持本地热更新。
## 调试
## 生产
### 进程管理 pm2
pm2 可以对 nodejs 的服务实例进程管理,以及进程守护。 进程管理主要是启动多个实例的,停止部分实例,追踪实例异常
\ No newline at end of file
......@@ -12,4 +12,10 @@
## 3
[ ] 创建一个json文件,并了解模块化的小知识 [链接](./3/node%E6%A8%A1%E5%9D%97%E5%8C%96.md)
## 4
【 】和作者一起碎碎念 [链接](./4/%E5%9B%9E%E5%BD%92%E5%AE%98%E6%96%B9.md)
\ No newline at end of file
【 】和作者一起碎碎念 [链接](./4/%E5%9B%9E%E5%BD%92%E5%AE%98%E6%96%B9.md)
## 5
【 】第三方模块补充 [链接](./5/%E7%AC%AC%E4%B8%89%E6%96%B9%E6%A8%A1%E5%9D%97%E6%8E%A8%E8%8D%90.md)
### 本次 nodeJs 入门暂时到此为止了
完结撒花 ing
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment