Nodejs+Expressjs day01

 


 

1.Why node?

最近在学习jsp和servlet,感受到语法以及格式十分的不优雅,于是决定学习node,并由codecademy上的课程以及全栈之巅的视频做参考

(这里提一句codecademy的图片是真的非常好)

从最基本的来说nodejs是写后端的,目前我还未接触到Vue,之后会逐步迭代整合成一个合并项目

nodejs的核心在于module,模块化的概念

模块自己有依赖,模块可被别的模块依赖

每一个小的js文件中引用所需要的模块

 

2.基本配置:

当前版本node为v13.3.0

当前版本npm为6.13.2

在vscode中新建一个文件夹作为项目根目录

npm i express

 项目中会出现node_modules和package-lock.json

我们新建一个app.js文件开始写

node.js中对模块的引用只需要require就可以

const express = require("express");
const app = express();

先把模块引入进来,然后创建一个名为app的express实例


 

MongoDB basic:

官网上下载的mongodb可能需要配置环境变量,基本就是找配置文件加入$path而已

如果是brew的话不太清楚,我本来也想用brew来装,但是list里没有,更新又慢于是作罢

当前release版本为4.2.2

 

配置的关键点:

首先是根目录下的/data/db,默认是mongodb的数据库地址,这个文件夹要拥有读写权限

不然会发现报错

[initandlisten]

exception in initAndListen: IllegalOperation: Attempted to create a lock file on a read-only directory: /data/db, terminating

db文件夹改成读写权限即可

mongodb异常退出会出问题,会提示写lock文件出错,要么把db文件夹里的lock文件删掉要么在后台运行或者用tmux的session

 

nodejs链接mongodb的工具是mongoose

使用

npm i mongoose

 

mongodb的默认端口和地址的格式

mongodb://ipaddr:27017/dbname

在没有dbname的情况下mongodb会帮你创建一个名为dbname的数据库

 mongodb的读写都是要异步执行的,所以每次涉及到CRUD操作的函数要加async/await

 


 

基本配置到此结束

posted on 2020-01-07 08:45  寺川愛美  阅读(186)  评论(0编辑  收藏  举报