之前用koa2+mysql,和koa2+mongodb仿过一个多人博客论坛和个人博客,但对于node还是感觉没有入门,所以就有了下面的博客。
本文参考了七天学会node.js,算了做笔记了
链接:七天学会node.js
node.js中文api文档:api文档
1:node.js
目的:高性能node.js的web服务器。
优点:事件机制和异步IO模型,js本身不自带IO功能,
2:模块化 代码模块化是程序优化常用技巧
将代码合理拆分到不同js文件中
常用变量 require exports module
require 引用 (一般引入模块,或者文件)
var a = require(‘*‘);
exports对象引入,用于导入模块的公有方法和属性,别的模块通过require使用当前模块时的得到的exports对象
module 访问当前模块的一些相关信息,最多的用法是替换当前导入模块的对象。
3:模块初始化
一个模块中js代码在模块第一次被使用时执行一次,并在执行过程中初始化模块的导入对象;
4:主模块
给node.js启动程序的模块为主模块
二进制模块(可以使用,不推荐使用)
node.js使用cmd模块系统,主模块作为程序入口点,模块只初始化一次
5:模块路径
(1)内置模块
require(‘fs’);
(2)node_modules
(3)node_path 环境变量
包:
定义:js模块基本单位是js文件,复杂的模块是多个子模块组成(这就是包,所有子模块放在同一个目录)
package.json和index.js
在package.json中写入
{
“name”: “cat”,
“main”: “./lib/main.js”
}
然后引入模块 如require(‘/home/user/lib/cat’);
node.js会找到该模块
6:工程目录
/home/user/workspace/node-echo/ # 工程目录
- bin/ # 存放命令行相关代码
node-echo
+ doc/ # 存放文档
- lib/ # 存放API相关代码
echo.js
- node_modules/ # 存放三方包
+ argv/
+ tests/ # 存放测试用例
package.json # 元数据文件
README.md # 说明文件