繁体   English   中英

无法将节点定位为提供静态文件

[英]Can't target node to serve static files

我是nodejs的新手。 我试图在server.js文件中将节点定位为服务静态页面。 使用第一个选项时:

app.use("/", express.static(__dirname +'/site/public/dist/public/', 
{
  index: 'index.html'
}));

该站点已到达,但是在按F5时,出现Cannot GET / so,我发现没有“默认”路由来加载请求的模块,因此我尝试放置“ *”而不是“ /”:

app.use("*", express.static(__dirname +'/site/public/dist/public/', 
{
    index: 'index.html'
}));

但不起作用。 我究竟做错了什么 ?

我假设您想使用express服务dist文件夹。 dist放在server.js的根目录中。 如果没有正确定义*这是可以预期的。 我们在静态文件中使用false ,它不会中止线程。 这意味着false将导致代码继续执行。 因此,将在/之后显示代码行。 *将被执行。

express.static(root,[选项])

这是Express中的内置中间件功能。 它提供静态文件,并且基于serve-static。


const express = require('express');
const path = require('path');
const app = express();

// serve angular front end files from root path
app.use('/', express.static('dist', { redirect: false }));

// rewrite virtual urls to angular app to enable refreshing of internal pages
app.get('*', (req, res) => {
  res.sendFile(path.resolve('dist/index.html'));
});

app.listen(process.env.PORT, () => {
  console.log("Frontend is started!");
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM