如何在Node Express中使用带有基本href的索引来提供静态文件?

时间:2019-06-10 18:13:53

标签: node.js express routing

我正在使用express.static(path)提供静态文件(一个内置的Angular应用程序dist目录)。当应用程序使用非默认base-href时,我找不到如何为其提供服务。

我有一个distStatic变量可以正常工作:

const distStatic = express.static(distPath);

以前,在没有base-href的情况下,此方法有效:

app.use('/', distStatic);
app.use('/*', distStatic);

转到localhost:port成功了。现在,当我使用--base-href=/master/进行构建时,我有以下内容:

app.use('/master', distStatic);
app.use('/master/*', distStatic);

转到localhost:port/master会加载索引...但是,对distStatic中某个对象的每次调用都会始终返回索引。

1 个答案:

答案 0 :(得分:0)

使用base-href时应小心。由于内部必须进行API调用,因此必须将其更改为<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta charset="utf-8" /> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script> </head> <body> <div id="myDiv"> </div> <div class="skycap-caption" style="display:none"></div> </body> </html>

我认为内部电话正在打/master/path-to-api/,这是一个正在处理要转到索引的404。

相关问题