①端口占用问题:
今天运行服务器,启用node文件时报错,终端提示:Error: listen EADDRINUSE :::3000
查询后发现开着两个终端,导致端口被占用,关闭即可.
②数据库操作:
连接数据库,可以使用 mongoose 这个模块操作 mongodb 进行增删改查
③require加载模块
require加载文件代码,可以加载.js,.json,.node后缀的文件,且过程是同步的.所以
setTimeout(() => {
module.exports = { a: 'hello' };
}, 0)
require这个文件得到的是空对象{}
④应用
应用程序对象通常表示Express应用程序。通过调用Express模块导出的顶级express()函数创建它:
var express = require('express');
var app = express();
app.get('/',function(req,res){
res.send('hello world');
});
app.listen(3000);
⑤回调函数:
Node约定,如果某个函数需要回调函数作为参数,则回调函数是最后一个参数
而回调函数本身的第一个参数,约定为上一步传入的错误对象
⑥核心模块:
http:提供HTTP服务器功能
url:解析URL
fs:与文件系统交互
querystring:解析URL的查询字符串
child_process:新建子进程
util:提供一系列实用小工具
path:处理文件路径
crypto:提供加密和解密功能,基本上是对OpenSSL的包装
⑦异常处理:
Node是单线程运行环境,一旦抛出的异常没有被捕获,就会引起整个进程的崩溃。所以,Node的异常处理对于保证系统的稳定运行非常重要
一般来说,Node有三种方法,传播错误:
(1)使用throw语句抛出一个错误对象,即抛出异常
(2)将错误对象传递给回调函数,由回调函数负责发出错误
(3)通过EventEmitter接口,发出一个error事件