大坑之node.js

本文详细介绍了如何使用Node.js构建服务器,并实现热更新功能。同时,深入讲解了MongoDB在Windows和Mac系统上的安装步骤及配置方法,以及如何在项目中引入和使用MongoDB。此外,还涵盖了Express框架的安装与使用,包括EJS模板引擎的标签用法,以及session管理和异步流程控制的实现。
摘要由CSDN通过智能技术生成

程序设计之道无远弗届,御晨风而返。———— 杰佛瑞 · 詹姆士

如何构建一个node服务器 ☞

热更新:
安装  npm install supervisor -g
启动: supervisor xxxx.js 在项目中也可以在配置中添加"dev": “supervisor ./bin/www” 通过npm run dev来启动。


mongodb:
1.选择Custom
2.选择安装路径,必须在盘服文件夹下 (/D:/mongoDB)
3.在当前盘服下面创建 data里面创建db。里面有个bin的文件,先打开mongod.exe在打开mongo.exe不要关。里面有 connecting to: mongodb://127.0.0.1:27017 这时候在浏览器输入127.0.0.1:27017会打印一句话证明安装成功。
Mac 系统上安装
一、安装
在Mac OS上面安装MongoDB,你可以通过编译源代码来安装 ,也可以在Mac OS上使用Homebrew安装。
这里介绍使用Homebrew安装MongoDB。
首先更新Homebrew的package数据库:
$ brew update
$ brew install mongodb
二、启动MongoDB
$ mongod --config /usr/local/etc/mongod.conf
三、使用MongoDB
$ mongo
引入mongodb依赖在项目中:
var mongodb = require(‘mongodb’).MongoClient;
var db_str = ‘mongodb://localhost:27017/Database name’;
var ObjectId = require(‘mongodb’).ObjectId;
let id = ObjectId(req.body._id);
ObjectId是mongodb中特有格式的存储id格式需要安装自带方法解决。


express
安装:
全局:npm install express -g
项目中安装:npm install express-generator -g
脚手架: express -e project_name(项目名字)
安装package.json中的依懒,进入目录 npm i

Package.json依赖解释
body-parser 对http请求体进行解析
cookie-parser 对cookie进行解析的
debug 输出debug信息
ejs javascript模板引擎
morgan 在控制台上显示request url 信息
serve-favicon: 解决默认请求favicon.ico问题

EJS常用标签:
<% %>流程控制标签
<%= %>输出内容标签(原文输出HTML标签)
<%- %>输出标签(HTML会被浏览器解析)
<%# %>注释标签
% 对标记进行转义
<%- include(path) %> 引入 path 代表你引入其他模板的路径
Eg:<%- include(‘head.ejs’) %>


session:
客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。
npm install express-session -g
npm install express-session -D
app.use(session({
secret: ‘recommend 128 bytes random string’,
cookie: { maxAge: 20 * 60 * 1000 },
resave: true,
saveUnintialized: true
}))


Async -异步流程控制 :
安装:
1、npm init 2、npm i async -D
串行无关联 async. series()
1、做两个串行的异步请求,无关联,无论什么时候返回,都能拿到结果
2、总的事件执行时间和为几个事件执行时间之和
3、series串行方法=>第一个参数传入数组/对象,数组/对象内传入n个异步方法,第二个参数对一系列方法的结果处理

并行无关联 async. parallel ()
两个并行(两个同时执行)的操作,没关联--时间为某个事件执行的最长时间

串行有关联 async.waterfall()


以上内容如有错误欢迎指出

在Vite中,可以使用vue.config.js文件来配置Vue项目的路径别名等选项。你可以在该文件中使用import { defineConfig } from 'vite'来引入配置函数defineConfig。然后,可以使用export default defineConfig({...})来导出一个包含配置选项的对象。比如,可以使用插件vite-plugin-vue来配置Vue的路径别名,可以在plugins选项中添加该插件。此外,还可以在server选项中配置本地运行的相关设置,如主机名、端口号、自动打开浏览器等。一个简单的vue.config.js配置示例如下: ```javascript import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; export default defineConfig({ plugins: [ vue() ], server: { host: 'localhost', port: 8080, open: true, https: false, }, }); ``` 这样,你就可以在vue.config.js中配置Vite项目中的一些选项了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [关于 vite.config.js 相关配置,拿走不谢](https://blog.csdn.net/weixin_43880397/article/details/121848881)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [vue.config.js中配置Vue的路径别名的方法](https://download.csdn.net/download/weixin_38678796/12928335)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [vite.config.js配置(大坑)](https://blog.csdn.net/weixin_44933280/article/details/121212333)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值