关于Node.js的框架问题

关于Node.js的框架问题

小生纯属小菜鸟,刚学没多久,开始关注Node.js 的 MVC框架,最终选择使用 Sailsjs 。这个框架很多东西都不会使,比如模板引擎换成jade之后,我想让它保留换行,增加可阅读性,但是不知道在哪里配置它,还有一个就是不知道如何扩展。

大牛们都在使用什么框架(MVC)?望大牛回复

6 回复

关于Node.js的框架问题

小生纯属小菜鸟,刚学没多久,开始关注Node.js 的 MVC 框架,最终选择使用 Sails.js。这个框架有很多功能还不太会用,比如我将模板引擎从默认的 EJS 改成了 Jade,希望在渲染时保留换行符,以提高代码的可读性,但不知道该在哪里进行配置。此外,我还想了解如何在 Sails.js 中进行扩展。

如何在 Sails.js 中保留 Jade 模板中的换行符

在 Sails.js 中,默认情况下 Jade 模板渲染时可能会去掉多余的空格和换行符。为了保留这些换行符,你可以在 Jade 配置中调整相关设置。

  1. 安装 Jade 模板引擎: 如果你还没有安装 Jade 模板引擎,可以使用 npm 安装:

    npm install --save jade
    
  2. 修改 Sails.js 配置文件: 在 config/views.js 文件中,找到或添加以下配置项:

    module.exports.views = {
      engine: 'jade',
      layout: false,
      locals: {
        // 其他本地变量
      },
      // 添加 Jade 特定的选项
      options: {
        pretty: true // 保留换行和缩进
      }
    };
    

    这里 pretty: true 选项确保了 Jade 在渲染时保留换行和缩进,从而提高代码的可读性。

如何扩展 Sails.js

在 Sails.js 中扩展功能主要通过自定义服务、控制器、模型等来实现。这里提供一个简单的示例:

  1. 创建一个新的服务: 你可以通过命令行工具生成一个新的服务:

    sails generate service myService
    

    这将在 api/services/MyService.js 中生成一个服务文件。

  2. 编写服务代码: 例如,你可以为这个服务添加一个简单的函数:

    // api/services/MyService.js
    module.exports = {
      sayHello: function(name) {
        return `Hello, ${name}!`;
      }
    };
    
  3. 在控制器中使用服务: 现在你可以在控制器中调用这个服务:

    // api/controllers/MyController.js
    module.exports = {
      hello: function(req, res) {
        const name = req.param('name') || 'World';
        const message = MyService.sayHello(name);
        return res.view('myView', { message });
      }
    };
    
  4. 创建视图: 创建一个视图文件 views/myView.ejsviews/myView.jade,根据你的模板引擎选择:

    // views/myView.jade
    h1= message
    

以上就是在 Sails.js 中保留 Jade 模板中的换行符以及如何扩展 Sails.js 的简单示例。希望对新手朋友们有所帮助!


Express,比较多人使用。

我想要的是MVC,已经写好的。

大部分人应该是用 express 的吧

mvc 啊… 写node 的一般就express 做一层路由…然后用以前的写其他语言那套进行封装吧…

基于express ,你可以去看 express 的 wiki 那里有个列表…你去看看那个符合你?

对于你提到的问题,这里有一些详细的解答:

1. 关于Jade模板引擎保留换行

首先,你需要知道的是Sails.js默认使用EJS作为视图引擎。如果你希望使用Jade,并且希望保留换行以提高可读性,你需要安装Jade并进行相应配置。

安装Jade

你可以通过npm安装Jade模板引擎:

npm install --save pug

配置Sails使用Pug(Jade)

然后,你需要修改Sails的配置文件来使用Pug。找到config/views.js文件,修改如下:

module.exports.views = {
  engine: 'pug',
  layout: true,
};

为了保留换行,Pug本身已经可以很好地处理这一点,不需要额外配置。只需要确保你的Pug模板文件是以.pug为扩展名即可。

2. 如何扩展Sails.js

Sails.js 提供了强大的插件系统,你可以很容易地添加自定义逻辑、模型或服务到你的应用中。

创建一个服务

假设你想要创建一个新的服务MyService,可以在api/services/目录下创建一个名为MyService.js的文件:

// api/services/MyService.js
module.exports = {
  sayHello: function() {
    return "Hello, World!";
  }
};

然后在你的控制器中调用这个服务:

// api/controllers/ExampleController.js
module.exports = {
  index: function(req, res) {
    var helloMessage = MyService.sayHello();
    return res.send(helloMessage);
  }
};

大牛们使用的框架

虽然每个开发者可能根据自己的需求偏好不同的框架,但Sails.js确实是功能全面的MVC框架之一,适合构建实时Web应用。其他流行的Node.js框架包括Express(更轻量级)、Meteor(全栈框架)和Koa(由Facebook的原班人马设计,基于ES6)。

希望这些建议对你有所帮助!继续学习和实践,你会越来越熟练的。

回到顶部