关于Node.js的框架问题
关于Node.js的框架问题
小生纯属小菜鸟,刚学没多久,开始关注Node.js 的 MVC框架,最终选择使用 Sailsjs 。这个框架很多东西都不会使,比如模板引擎换成jade之后,我想让它保留换行,增加可阅读性,但是不知道在哪里配置它,还有一个就是不知道如何扩展。
大牛们都在使用什么框架(MVC)?望大牛回复
关于Node.js的框架问题
小生纯属小菜鸟,刚学没多久,开始关注Node.js 的 MVC 框架,最终选择使用 Sails.js。这个框架有很多功能还不太会用,比如我将模板引擎从默认的 EJS 改成了 Jade,希望在渲染时保留换行符,以提高代码的可读性,但不知道该在哪里进行配置。此外,我还想了解如何在 Sails.js 中进行扩展。
如何在 Sails.js 中保留 Jade 模板中的换行符
在 Sails.js 中,默认情况下 Jade 模板渲染时可能会去掉多余的空格和换行符。为了保留这些换行符,你可以在 Jade 配置中调整相关设置。
-
安装 Jade 模板引擎: 如果你还没有安装 Jade 模板引擎,可以使用 npm 安装:
npm install --save jade
-
修改 Sails.js 配置文件: 在
config/views.js
文件中,找到或添加以下配置项:module.exports.views = { engine: 'jade', layout: false, locals: { // 其他本地变量 }, // 添加 Jade 特定的选项 options: { pretty: true // 保留换行和缩进 } };
这里
pretty: true
选项确保了 Jade 在渲染时保留换行和缩进,从而提高代码的可读性。
如何扩展 Sails.js
在 Sails.js 中扩展功能主要通过自定义服务、控制器、模型等来实现。这里提供一个简单的示例:
-
创建一个新的服务: 你可以通过命令行工具生成一个新的服务:
sails generate service myService
这将在
api/services/MyService.js
中生成一个服务文件。 -
编写服务代码: 例如,你可以为这个服务添加一个简单的函数:
// api/services/MyService.js module.exports = { sayHello: function(name) { return `Hello, ${name}!`; } };
-
在控制器中使用服务: 现在你可以在控制器中调用这个服务:
// 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 }); } };
-
创建视图: 创建一个视图文件
views/myView.ejs
或views/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)。
希望这些建议对你有所帮助!继续学习和实践,你会越来越熟练的。