node.js - 服务器端包括 (SSI) 与 grunt 连接网络服务器

标签 node.js gruntjs connect yeoman ssi

我们在开发过程中使用 yeoman,目前使用“grunt server”命令运行 grunt connect web 服务器进行本地开发。每次我们保存文件时,grunt 都会运行它的所有任务并重新加载浏览器。

问题在于我们用来包含页眉和页脚的服务器端包含。我们之前曾使用 Apache、IIS 和 Tomcat 使用它,但不知道如何连接以执行相同操作。它只是将其视为 html 注释。

例如包括:

<!--#include virtual="header.html" --> 

所以, 1. 有没有办法让 grunt/connect 包含这些文件? 2. 如果不能,我们可以将 Apache 与 yeoman/grunt 一起使用吗? 3. 如果都失败了,还有其他方法可以通过连接包含文件吗?

最佳答案

ssi 的帮助下,您可以拥有快速句柄 SSI Node 模块。

我用这个简单的例子整理了一个 github 仓库:https://github.com/sfarthin/express-ssi-example .

我将此应用程序部署到 heroku,因此您可以看到它的运行情况:http://intense-basin-9464.herokuapp.com/

app.use(function(req,res,next) {
    var filename    = __dirname+(req.path == "/" ? "/index.shtml" : req.path);

    if(fs.existsSync(filename)) {
        res.send(parser.parse(filename, fs.readFileSync(filename, {encoding: "utf8"})).contents);   
    } else {
        next();
    }
});

关于node.js - 服务器端包括 (SSI) 与 grunt 连接网络服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22395825/

相关文章:

node.js - MongoDB 数组不显示

angularjs - 当使用 grunt 构建项目时,Fontawesome 无法工作

java - 尽管使用了 validate(),GUI 仍不更新

.net - System.Net 套接字非常奇怪的自发断开连接

facebook - Oauth授权的用户注册工作流程

node.js - 如何处理从Express,NodeJS中的路由处理程序调用的函数中的错误?

php - AES-256-CBC 加密在 golang 和 node/php 之间不匹配

node.js - 如何在 Mongoose 中的虚拟对象中填充对象

javascript - 用nodejs替换文件中的字符串

javascript - 使用多级源映射调试 Javascript