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


3 回复

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

使用方法

  1. 安装依赖

    npm install && bower install
    
  2. 开发模式运行

    grunt server
    

    这将启动一个本地服务器,监听文件变化并自动重启服务。

  3. 运行测试

    grunt test[:front]
    

    这会运行后端测试。如果需要运行前端测试,则使用 grunt test:front

  4. 编译模板和静态文件

    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

使用方法

  1. 安装依赖

    npm install && bower install
    
  2. 启动开发服务器

    grunt server
    

    这将会启动一个本地开发服务器,监听文件修改并自动重启。

  3. 运行测试

    grunt test[:front]
    

    :front 参数表示只运行前端测试。如果省略,则会运行所有测试。

  4. 编译模板和静态文件

    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项目模板的基本步骤和一些示例代码。通过合理的目录结构和配置,可以使项目更易于管理和扩展。

回到顶部