【问题标题】:express static 2 different foldersexpress static 2个不同的文件夹
【发布时间】:2018-08-06 14:56:33
【问题描述】:

文件:

我有两个不同的前端构建应用程序,每个都在自己的目录中 - frontAppfrontAdmin 我需要在不同的请求中发送它们

routes/index.js

router.get('/', (req, res) => {
  res.sendFile('index.html');
});

router.get('/admin', (req, res) => {
  res.sendFile('admin/index.html');
});

我试过了 在 app.js

const frontPath = express.static(path.join(__dirname, '/frontApp'));
const adminPath = express.static(path.join(__dirname, '/frontAdmin'));
app.use(frontPath);
app.use('/admin', adminPath);

最后我在http://localhost:3000/admin/ 上获得了应用程序,但出现了错误

【问题讨论】:

  • 您是作为路由处理程序还是静态地提供 /admin。看来您正在尝试两者兼而有之,而您不应该这样做!
  • 那我该怎么办?
  • 为了帮助您解决问题,我们需要查看一个可以通过 express.static() 工作的 /main 网址示例,并且我们需要查看您希望使用该网址提供的文件的确切位置在您的文件系统中。 /admin 网址也是如此。这是我们可以帮助您进行匹配的唯一方法,因此express.static() 可以满足您的需求。此外,“对我不起作用”不是对问题的有用描述。您需要准确描述发生了什么以及您尝试了哪些调试步骤。您收到 404 错误吗?您没有收到服务器的响应吗?你得到错误的文件吗?
  • 并且,当向我们展示所需文件在文件系统中的位置时,请向我们展示它们相对于您放置这些路由的脚本的确切位置。
  • 再次阅读您的问题,您是否尝试在此处提供两个文件:main/index.htmladmin/index.html?还是每个都有一整套资源?您的问题目前没有足够的信息供任何人回答,只能猜测您要完成的工作。

标签: node.js express static


【解决方案1】:

抱歉问题不正确,问题出在 MIME 类型中

我这样做了,它现在可以工作了

const frontPath = express.static(path.join(__dirname, '/frontApp'));
const adminPath = express.static(path.join(__dirname, '/frontAdmin'));
app.use(frontPath);
app.use(adminPath);
app.use('/admin', adminPath);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-14
    • 1970-01-01
    • 1970-01-01
    • 2014-05-08
    • 1970-01-01
    • 2021-07-29
    • 2020-06-03
    • 1970-01-01
    相关资源
    最近更新 更多