Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

missingmeow/node-study

Repository files navigation

node-study

Build Status Coverage Status Node.js Version

Just for learning node.js.

主要是学习 Node.js 部分库的使用,以及如何构建自动化测试相关内容。

构建

node version ≥ 8.12.0

cd node-study
npm install
npm start

本工程使用了eslint代码规范模块,如果需要使用需要安装eslint模块:

npm install eslint -g

工程结构

app.js: 启动文件,或者说入口文件
package.json: 存储着工程的信息及模块依赖,当在 dependencies 中添加依赖的模块时,运行npm install,npm 会检查当前目录下的 package.json,并自动安装所有指定的模块
node_modules: 存放 package.json 中安装的模块,当你在 package.json 添加依赖的模块并安装后,存放在这个文件夹下
public: 存放 image、css、js 等文件
routes: 存放路由文件
views: 存放视图文件或者说模版文件
bin: 存放可执行文件

学习笔记

  1. express 教程多看API文档

  2. 配置文件模块工具 config-lite

    1. 环境变量设置可跨平台应用解决windows与Linux不兼容问题 cross-env
  3. 日志中间件 morgan

    1. 日志文件每日新建一份存储 rotating-file-stream

    关于rotating-file-stream有个需要注意的地方是,如果设置每日新建一个文件存储,它日志存储方式是先将新的日志会在默认的文件里,比如这里file.log中,到时间新建日志文件的时候它会把符合条件的日志全部拷贝进去,新日志仍然会放在file.log中。

    另外有个配置需要注意下:initialRotation

  4. 自动化测试模块mocha

    1. should
    2. supertest
  5. cookie-parser 模块(已移除该模块,原因看这里)

    需要注意的一点就是,使用时可以指定一个类似密钥的字符串,如果不使用,则获取cookie是用req.cookies,如果使用了密钥,则获取cookie是要用req.signedCookies

  6. express-session模块

    cookiesession的介绍,其中区别可以看这里,讲得很是通俗易懂

    session-file-store一个文件存储session信息,可用来测试。

  7. express-validator模块

  8. 在线查看API接口说明Swagger 首页swagger.json是API接口文档的配置,感觉写起来也不是一件容易的事啊。但查看确实是很方便!

  9. 关于 Promise 的一点说明

    主要是在非异步函数中链式调用 Promise 对象的问题。如何保证一直 .then().then().then()... 下去。

About

Just for learning node.js.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /