Nodejs Express 项目模板
Nodejs Express 项目模板
Express 模板
https://github.com/sadne/express-template
一个程序的结构清晰,能让我们易于阅读、测试、排错和修改,使开发变得简单,并且增加了可维护性。而 Express 的简洁在有的时候也可能让我们觉得无可奈何,总是不能写出如同 Express 本身一样简洁优雅的代码。
于是根据自己的一些经验 DIY 出了一个 Express 模板。
在这里,我使用 grunt 做监听文件修改,测试,静态文件的发布等,使用了 bower 前端包管理工具,模板用的是 hogan,数据库引擎使用 mongoose,服务器端和前端测试都是使用的 mocha
目录结构
.
├── Gruntfile.js
├── README.md
├── app
│ ├── controllers
│ │ └── home.js
│ ├── index.js
│ └── models
│ └── user.js
├── bower.json
├── config
│ ├── config.js
│ ├── express.js
│ ├── mongoose.js
│ └── routes.js
├── coverage.html
├── index.js
├── package.json
├── processes.json
├── public
│ ├── favicon.ico
│ ├── images
│ ├── scripts
│ │ └── home.js
│ ├── styles
│ │ └── main.less
│ └── test
│ ├── index.html
│ └── spec
│ └── test.js
├── test
│ ├── blanket.js
│ ├── controllers
│ │ └── home.js
│ ├── models
│ │ └── user.js
│ └── test_helper.js
└── views
├── 404.html
├── home
│ └── index.htm
使用方法
安装依赖 npm install & bower install
开发模式运行 grunt server
运行测试 grunt test[:front]
编译模板和静态文件 grunt or grunt build
Nodejs Express 项目模板
概述
在这个项目模板中,我们旨在提供一个结构化良好的 Node.js + Express 应用程序,以提高项目的可读性和可维护性。此模板包含了从配置到测试的完整流程,帮助开发者快速搭建并维护一个高效的 Web 应用。
项目地址
您可以在此查看完整的项目代码:
目录结构
.
├── Gruntfile.js
├── README.md
├── app
│ ├── controllers
│ │ └── home.js
│ ├── index.js
│ └── models
│ └── user.js
├── bower.json
├── config
│ ├── config.js
│ ├── express.js
│ ├── mongoose.js
│ └── routes.js
├── coverage.html
├── index.js
├── package.json
├── processes.json
├── public
│ ├── favicon.ico
│ ├── images
│ ├── scripts
│ │ └── home.js
│ ├── styles
│ │ └── main.less
│ └── test
│ ├── index.html
│ └── spec
│ └── test.js
├── test
│ ├── blanket.js
│ ├── controllers
│ │ └── home.js
│ ├── models
│ │ └── user.js
│ └── test_helper.js
└── views
├── 404.html
├── home
│ └── index.htm
使用方法
-
安装依赖
npm install && bower install
-
开发模式运行
grunt server
这将启动一个本地服务器,监听文件变化并自动重启服务。
-
运行测试
grunt test[:front]
这会运行后端测试。如果需要运行前端测试,则使用
grunt test:front
。 -
编译模板和静态文件
grunt or grunt build
此命令会编译所有静态文件和模板,确保它们在生产环境中正确部署。
示例代码
app/controllers/home.js
const express = require('express');
const router = express.Router();
const User = require('../models/user');
// 获取用户列表
router.get('/', async (req, res) => {
try {
const users = await User.find({});
res.render('home/index', { users });
} catch (err) {
res.status(500).send(err.message);
}
});
module.exports = router;
config/routes.js
const homeController = require('../app/controllers/home');
module.exports = function(app) {
app.use('/', homeController);
};
public/scripts/home.js
document.addEventListener('DOMContentLoaded', () => {
fetch('/').then(response => response.json())
.then(data => {
const container = document.getElementById('users');
data.users.forEach(user => {
const div = document.createElement('div');
div.textContent = `${user.name} - ${user.email}`;
container.appendChild(div);
});
});
});
通过上述目录结构和示例代码,您可以快速上手并构建自己的 Express 应用。希望这个模板能够帮助您提高开发效率和代码质量!
貌似不错
Nodejs Express 项目模板
为了创建一个清晰、易维护的Express项目模板,可以参考以下的目录结构和一些基本配置,以确保项目结构合理,功能齐全。
目录结构
.
├── Gruntfile.js
├── README.md
├── app
│ ├── controllers
│ │ └── home.js
│ ├── index.js
│ └── models
│ └── user.js
├── bower.json
├── config
│ ├── config.js
│ ├── express.js
│ ├── mongoose.js
│ └── routes.js
├── coverage.html
├── index.js
├── package.json
├── processes.json
├── public
│ ├── favicon.ico
│ ├── images
│ ├── scripts
│ │ └── home.js
│ ├── styles
│ │ └── main.less
│ └── test
│ ├── index.html
│ └── spec
│ └── test.js
├── test
│ ├── blanket.js
│ ├── controllers
│ │ └── home.js
│ ├── models
│ │ └── user.js
│ └── test_helper.js
└── views
├── 404.html
├── home
│ └── index.htm
使用方法
-
安装依赖
npm install && bower install
-
启动开发服务器
grunt server
这将会启动一个本地开发服务器,监听文件修改并自动重启。
-
运行测试
grunt test[:front]
:front
参数表示只运行前端测试。如果省略,则会运行所有测试。 -
编译模板和静态文件
grunt or grunt build
这将编译模板文件和静态资源,以便在生产环境中使用。
示例代码
app/controllers/home.js
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => {
res.render('home/index');
});
module.exports = router;
config/routes.js
const homeController = require('../app/controllers/home');
module.exports = (app) => {
app.use('/home', homeController);
};
app/models/user.js
const mongoose = require('mongoose');
const UserSchema = new mongoose.Schema({
name: { type: String, required: true },
email: { type: String, required: true, unique: true }
});
module.exports = mongoose.model('User', UserSchema);
以上就是创建一个清晰、易维护的Express项目模板的基本步骤和一些示例代码。通过合理的目录结构和配置,可以使项目更易于管理和扩展。