Nodejs 开发后台服务程序模板(脚手架),可以随意使用。
目录结构
├── env // 配置文件与启动文件
├── public // 静态资源
│ ├── files
│ ├── js
│ └── stylesheets
│ └── fonts
├── src // 主体源代码
│ ├── aux // 辅助工具,如日志
│ ├── cnf // 内部模块与功能配置
│ ├── controls // 核心业务逻辑实现
│ ├── demo // 部分功能测试代码
│ ├── midwares // 自定义中间件,比如权限路由,错误处理等
│ ├── models // 集中各种数据库操作,若无必要可以缩减一层
│ │ └── mongo // mongodb数据库基本操作
│ └── routes // 路由定义
└── views // 页面模板
说明:由于需要 babel 支持,所以代码尽可能都集中在src
目录中,能够集中编译
第一步 git clone https://gitee.com/dr.wei/enthal-koa2-boilerplate.git
第二步 进项目根目录,执行 yarn
or npm install
安装所需的各种依赖包
第三步 启动项目,分三类环境,开发dev
、测试test
与生产prod
npm run dev
启动,支持热更新npm run build
,再npm run test
启动,不支持热更新npm run build
,再npm run prod
启动,不支持热更新说明:
npm run build
或编译代码到 dist
目录。dev
,test
和prod
贯穿,为process.env.NODE_ENV
在运行期的取值。可自己增加,但建议不要删除或修改。实现代码集中放置于src
目录。
main.js
为入口文件,负责启动服务,一般无需更改app.js
为主流程实现的人口,koa2 的主体流程与逻辑实现放在这里其中涉及的 api 接口基本都需要 JWT 验证,为了方便,启动时会自动生成一个用预测测试的 Token,此后可使用 ApiPost 或 PostMan 进行测试。
项目中的配置使用dotEnv-flow
进行管理,能够将指定文件中的变量加载解析并绑定到process.env
上,并可在koa2的支持下,通过app.env
同时进行访问。
但这些变量都为字符串,如果需要类型,则可通过import
src/cnf
目录后,通过其访问类型解析之后的同名变量。
New
通过global
的控制, 添加了appCnf
全局变量,能够在任意位置从中取得所有配置的变量,不再需要引入配置脚本.
另外,还有可以全局使用的eCode
与logger
配置文件全部放在 conf
目录中,文件名有以下几种(可以规则随意增减):
.env
全局默认配置文件,会被 git 进行版本管理,出现在代码库中;.env.local
全局默认配置文件,但在.gitignore
中忽略,所以不会出现在代码库中,可用于保存安全要求的秘密等。.env.${NODE_DEV}
针对各运行环境的配置,优先级高于 .env
,有版本管理.env.${NODE_ENV}.local
针对各运行环境的配置,不会出现在代码库中说明:
.
前缀的文件在 linux 中隐藏文件,直接可能无法在conf
中看到;${NODE_DEV}
实际为所需要的运行环境值,如prod
;proccess.env
默认就存在的变量.gitignore
已经对local
后缀的配置文件规避,对于安全要求的配置尽量放在 local 中,部署后需要,在服务器上单独添加或再复制过去。dotenv-conversion
。两种方式:JWT Token 与 Session,现支持 JWT 参考 https://www.cnblogs.com/yuanrw/p/10089796.html
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型