Javascript Express:使用URL参数时,服务器无法处理刷新

Javascript Express:使用URL参数时,服务器无法处理刷新,javascript,node.js,express,Javascript,Node.js,Express,使用URL参数时,例如books/1,由于某种原因,express应用程序无法找到并提供Index.js 我使用的是绝对路径,但即使在使用参数刷新url时,我的express应用程序也无法找到Index.js 正如您在屏幕截图中看到的,它没有提供Index.js,而是无法找到它,而是提供html文件作为Index.js 我正在做,在url参数刷新之前效果非常好: app.use(express.static(path.resolve(__dirname, '..', 'build')));

使用URL参数时,例如
books/1
,由于某种原因,express应用程序无法找到并提供
Index.js

我使用的是绝对路径,但即使在使用参数刷新url时,我的express应用程序也无法找到
Index.js

正如您在屏幕截图中看到的,它没有提供
Index.js
,而是无法找到它,而是提供html文件作为
Index.js

我正在做,在url参数刷新之前效果非常好:

app.use(express.static(path.resolve(__dirname,  '..', 'build')));
app.get('/*', (req, res) => {
 res.sendFile(path.join(__dirname, '..', 'build', 'index.html'));
});
我甚至尝试为
/Index.js
设置一个特定的路由,但没有成功

app.use(express.static(path.resolve(__dirname,  '..', 'build')));
app.get('/Index.js', (req, res) => {
 res.sendFile(path.join(__dirname, '..', 'build', 'Index.js'))
});
app.get('/*', (req, res) => {
 res.sendFile(path.join(__dirname, '..', 'build', 'index.html'));
});
我还尝试使用而不是
express.static
,但没有帮助

如果有人想看一看的话,我在这里重复了这个问题


此项目的前端位于。

这可能过于简单,但您是否尝试过:
res.sendFile('../public/index.js',{root:u dirname})

在mountpath“book/Index.js”上提供Index.js解决了这个问题

像这样:

app.use(express.static(path.resolve(__dirname,  '..', 'build')));
app.get('/book/Index.js', (req, res) => {
 res.sendFile(path.join(__dirname, '..', 'build', 'Index.js'));
});
app.get('/*', (req, res) => {
 res.sendFile(path.join(__dirname, '..', 'build', 'index.html'));
});

Index.js的
标记的
src
属性中删除
/
,我刚刚尝试过,刷新时得到了
403(禁止)
。您的文件路径正确吗
。/public/index.js
,例如,您的文件路径可以是
。/src/index.js
。是的,路径是正确的。它实际上是
。/build/Index.js
。我确信这是正确的,因为express成功地提供了文件,除非页面在参数url上刷新。就在那时,这条路似乎不知何故迷失了。