Nodejs 后台的MVC框架求推荐

Nodejs 后台的MVC框架求推荐

8 回复

Node.js 后台的 MVC 框架求推荐

在 Node.js 开发中,选择一个合适的 MVC(Model-View-Controller)框架可以帮助你更高效地构建后台应用。以下是一些流行的 Node.js MVC 框架,它们各有特点,并且适合不同的项目需求。

1. Express + Handlebars

虽然 Express 本身是一个灵活的 Web 应用框架,而不是一个完整的 MVC 框架,但它可以与视图引擎(如 Handlebars)结合使用来实现 MVC 架构。

示例代码:

// 安装依赖
// npm install express handlebars

const express = require('express');
const exphbs = require('express-handlebars');

const app = express();

// 设置 Handlebars 视图引擎
app.engine('handlebars', exphbs());
app.set('view engine', 'handlebars');

// 路由
app.get('/', (req, res) => {
    res.render('home', { title: 'Home Page' });
});

app.listen(3000, () => {
    console.log('Server is running on port 3000');
});

在这个例子中,home.handlebars 是一个简单的 Handlebars 模板文件,用于渲染首页。

2. Sails.js

Sails.js 是一个基于 Express 的 MVC 框架,它提供了许多内置功能,如 ORM、WebSocket 支持等。

示例代码:

# 安装 Sails.js
npm install -g sails
sails new myApp
cd myApp
sails lift

启动后,你可以通过浏览器访问 http://localhost:1337 查看默认的欢迎页面。

模型定义:

// 在 `api/models/User.js`
module.exports = {
  attributes: {
    name: { type: 'string' },
    email: { type: 'string' }
  }
};

控制器:

// 在 `api/controllers/UserController.js`
module.exports = {
  find: function(req, res) {
    User.find().exec(function(err, users) {
      if (err) return res.serverError(err);
      return res.view({ users: users });
    });
  }
};

视图:

<!-- views/user/index.ejs -->
<!DOCTYPE html>
<html>
<head>
  <title>User List</title>
</head>
<body>
  <h1>User List</h1>
  <ul>
    <% users.forEach(function(user) { %>
      <li><%= user.name %> (<%= user.email %>)</li>
    <% }) %>
  </ul>
</body>
</html>

3. Adonis.js

Adonis.js 是一个全栈框架,它提供了一套完整的工具集来构建现代 Node.js 应用程序。

安装 Adonis.js:

npm i -g @adonisjs/cli
adonis new myApp
cd myApp
npm run dev

启动后,你可以通过浏览器访问 http://localhost:3333 查看默认的欢迎页面。

模型定义:

// 在 `app/Models/User.js`
class User extends Model {
  static get table () {
    return 'users'
  }

  static fields () {
    return {
      id: this increments(),
      name: this string(),
      email: this string()
    }
  }
}

控制器:

// 在 `app/Controllers/Http/UserController.js`
class UserController {
  async index ({ view }) {
    const users = await User.all()
    return view.render('users.index', { users })
  }
}

视图:

<!-- resources/views/users/index.edge -->
<!DOCTYPE html>
<html>
<head>
  <title>User List</title>
</head>
<body>
  <h1>User List</h1>
  <ul>
    @foreach($users as $user)
      <li>{{ $user->name }} ({{ $user->email }})</li>
    @endforeach
  </ul>
</body>
</html>

以上就是几个常用的 Node.js MVC 框架及其基本使用方法。根据你的具体需求和偏好选择合适的框架,可以让开发过程更加高效。


express 自己构建mvc

何必mvc,试试deployd:enter link description here

我觉得直接用mojito之类的框架比较省事,但是express比较容易上手,喔喔在考虑是不是可以用一些mvc框架自己重构代码

这个有点意思,我先去看看,谢谢

有好几个类似Ruby on Rails 的: sails geddy:http://geddyjs.org/tutorial

想问下业界比较推荐哪一个?

Tower.js - http://towerjs.org Derby - http://derbyjs.com/ Meteor - http://www.meteor.com Geddy - http://geddyjs.org Compound - http://compoundjs.com/ Yahoo! Mojito - http://developer.yahoo.com/cockt… Sails - http://sailsjs.org/ Wakanda - http://wakanda.org Mean - http://mean.io Opa - http://opalang.org

Nodejs 后台的MVC框架求推荐

在Node.js中选择一个合适的MVC(Model-View-Controller)框架可以显著提高开发效率和代码的可维护性。以下是几个流行的Node.js MVC框架:

  1. Express + Sequelize/Eloquent

    • Express 是一个非常轻量级的web应用框架,用于构建Web应用和服务。它不直接提供MVC结构,但你可以通过模块化的方式实现MVC。
    • SequelizeEloquent 可以作为ORM工具来处理数据库操作。

    示例代码:

    // server.js
    const express = require('express');
    const app = express();
    const bodyParser = require('body-parser');
    
    app.use(bodyParser.json());
    
    // 路由控制器
    app.get('/api/users', (req, res) => {
      // 数据库操作
      res.send({ message: 'Hello from users route' });
    });
    
    app.listen(3000, () => console.log('Server started on port 3000'));
    
  2. AdonisJS

    • AdonisJS 是一个全栈框架,内置了MVC结构,并且提供了丰富的功能,如路由、依赖注入、中间件等。

    示例代码:

    // start/routes.js
    const Route = use('Route');
    
    Route.get('/users', 'UserController.index');
    
    // app/Controllers/Http/UserController.js
    class UserController {
      async index ({ response }) {
        return response.json({ message: 'Hello from users controller' });
      }
    }
    
    module.exports = UserController;
    
  3. Sails.js

    • Sails.js 是一个基于Express的全栈框架,专门设计用来快速创建模型驱动的APIs。它提供了完整的MVC结构,并支持WebSocket通信。

    示例代码:

    // api/controllers/UserController.js
    module.exports = {
      index: function (req, res) {
        res.ok({ message: 'Hello from users controller' });
      }
    };
    
    // config/routes.js
    module.exports.routes = {
      'GET /users': { controller: 'UserController', action: 'index' }
    };
    

以上是几个流行的Node.js MVC框架,每个框架都有其特点和适用场景。根据项目需求和个人偏好选择合适的框架是很重要的。希望这些示例能帮助你更好地理解这些框架的工作方式。

回到顶部