node.js - 使用 IISNode 在 IIS 中托管 Nodejs 应用程序时如何启用静态文件(和较少的支持)

标签 node.js less express iisnode

背景:

  • 使用expressjs的Nodejs应用。
  • 使用 IISNode 在 IIS 上托管
  • Nodejs 应用程序位于名为/myVirtualDirectory 的虚拟目录中

问题:

您想要使用 less 提供静态文件或 css,但传递给 Nodejs 的 url 是完整的 url,与独立的 Nodejs 应用程序的预期不匹配。

最佳答案

解决方案:

var express = require('express');
var app = express();
var lessMiddleware = require('less-middleware');


app.use('/myVirtualDirectory', lessMiddleware({
    src: __dirname + '/public',
    compress: true
}));

app.use('/myVirtualDirectory', express.static(__dirname + '/public'));

请注意,我们在指定要使用的中间件的位置传递了要响应的 url 前缀。只要它与虚拟目录的名称相同,它就会匹配,并且您的文件将按预期提供。

关于node.js - 使用 IISNode 在 IIS 中托管 Nodejs 应用程序时如何启用静态文件(和较少的支持),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12307174/

相关文章:

javascript - 阻止公众访问 expressjs 应用程序

javascript - Sequelize 在钩子(Hook)中获取请求数据?

node.js - vscode 调试器 - 当进程通过 pm2 重新启动时自动附加

twitter-bootstrap - 如何在 twitter Bootstrap 导航栏中使用背景图像?

javascript - LessCss 导入失败,带有 url 和 anchor

css - 减少级联和重构

node.js - 当我们执行 npm install 时,我们如何在 node_modules 中克隆一个 git 存储库?

javascript - WebSocketGateway 中的 WsException 不起作用

javascript - 从 Promise 返回非返回函数导致警告

javascript - 在中间件中访问应用程序配置