文件结构:为什么我的html文件不能加载express.static?
- simulated-selves
- client
- directives
- Statement
- statement.directive.html
- lib
- server
- app.js
- index.html
我:
app.use(express.static('client'));
app.use(express.static('lib'));
我的资产,我在加载index.html
被正确加载。
<link rel='stylesheet' href='assets/app.css' />
<script src='angular.js'></script>
<script src='app.js'></script>
<script src='controllers/main.controller.js'></script>
<script src='directives/Statement/statement.directive.js'></script>
<script src='providers/statement.factory.js'></script>
但我发现了这个错误:
这是为什么? statement.directive.html
嵌套在client
文件夹中,正在由express.static
处理。我知道它不是直接嵌套在client
的下面,但是我的其他一些资源都没有正确加载。我看到的唯一区别是使用<script>
/<link/>
与HTTP请求。如果这是问题,我不确定除了为每个资产设置一个端点(这似乎非常过分)之外,我该如何解决它。
旁边的问题:通过express.static
服务lib
文件夹不好吗?我不这么认为,因为他们都是公开的。我不知道如果没有为每个文件夹写明确的GET端点,我还能如何提供该文件夹中的文件。
编辑:我的png
文件也没有被送达。他们在client > assets > images
之下。
乍一看我以为这是一个相对路径的问题。尝试更改您的引用以正斜杠开始,使参考根相对。然后编写路径,就好像您正在从站点根目录导航到文件。例如:'/ client/directives/Statement/statement.directive.js'。如果那有效,那么你知道你有一个相对路径问题。不,使用静态服务器中间件服务库也不错。 – Chev
@Chev正在做你所说的“404”。 –
如果你有一个git repo我可以克隆,我很乐意帮助调试问题。 – Chev