【发布时间】:2018-08-06 14:56:33
【问题描述】:
文件:
我有两个不同的前端构建应用程序,每个都在自己的目录中 - frontApp 和 frontAdmin 我需要在不同的请求中发送它们
在 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.html和admin/index.html?还是每个都有一整套资源?您的问题目前没有足够的信息供任何人回答,只能猜测您要完成的工作。