nodeexpress无法获取静态内容



我在/opt/myapp目录中运行一个节点应用程序。我有haproxy在前面的内容打开path_beg/myapp后端服务器正在侦听端口3000

目录结构:

/opt/myapp
index.js
package, modules
static
public
myfile.html

const express = require("express");
const path = require('path');
const app = express();
app.listen(3000, () => console.log("listening on 3000 "+__dirname+"  "+process.cwd()));
app.use(express.static(__dirname+'/static/public'));  //nope
//app.use(express.static('..'+'/static/public')); //nope
//app.use(express.static(path.join(__dirname, '/static/public/')));  //nope

其中__dirname输出/opt/myapp,process.cwd((输出/opt/myapp

我尝试了concontentation和path.join,得到了相同的结果。无法获取myfile.html

直接在服务器上卷曲http://host.com:3000通过返回页面来工作,但是从浏览器(在haproxy前面(,http://host.com/myapp/myfile.html不起作用。

我想我可以在后台从haproxy中的路径中删除/myapp,但有没有一种方法可以使用express来说明基本目录?

这很有效:

app.use('/myapp/',express.static('static/public'));

相关内容

  • 没有找到相关文章

最新更新