默认情况下,node.js
Web服务器不提供任何文件。因此,仅因为您有一条服务于的路由,
index.html并不意味着node.js可以服务于任何其他文件。node.js与其他Web服务器不同,它们首先将自己视为文件服务进程,其次将其视为应用程序服务器。node.js可让您完全控制,默认情况下不提供文件。如果希望它为静态文件(例如脚本文件)提供服务,那么
app.use(express.static(...))一行代码将导致它为特定目录中的所有文件提供服务。
如果您要问为什么为index.html提供服务的同一静态路由不能为其他两个文件提供服务,则可能只是路径和文件位置未对齐而无法正确找到的情况。由于您尚未真正提供文件系统结构或路径结构的完整详细信息,因此我们无法提供有关应更改内容的确切详细信息。
如果system.js和config.js与index.html位于同一目录中,则应从其脚本标签前面删除路径。如果它们不在同一目录中,则可能需要另一个
app.use(express.static(...))覆盖其他路径/目录组合的目录。
是否确实必须通过app.use()静态提供每个index.html使用的资源?
不,如果它与index.html处于同一位置并由同一路径引用,并且您使用的
express.static()是覆盖整个目录的,则不是这样。
您希望node.js服务器发送的每个资源都必须由服务器中的某些路由专门覆盖。某些路由可能包含许多文件或文件的整个目录,但是您要处理的每个请求都必须包含一条路由。



