为什么SILLIM需要完整的目录路径来加载外部资产(js/css)文件?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (15)
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script  type="text/javascript" src="/slim/app/views/animations/jquery.min.js"></script>
    <script type="text/javascript" src="/slim/app/views/animations/bootstrap.min.js"></script>
    <link rel="stylesheet" href="/slim/app/views/animations/bootstrap.min.css">


</head>
<body>
    <div class="container">
    hello
    </div>
</body>
</html>

我必须指定加载js和css文件的完整目录路径(jquery.min.js和bootstrp.min.js和bootstrap.min.css)。在这里,我有一个包含所有文件的目录(/LIM/app/Views/动画/)。如果我目前在视图目录中,我应该使用这个目录(动画/任何文件名),但是它不是这样工作的。但是,如果我使用了完整的目录路径,它都可以很好地工作。为什么会发生这些情况?

提问于
用户回答回答于

使用相对路径不是通常使用Slim的方式,你的(JavaScript/CSS/映像等)应该从视图中绝对引用:

src="/assets/js/myapp.js"

路由URL不直接映射到基于文件系统的资源,因为模板不应该被URL直接访问-它们只由控制器通过应用程序路由公开地提供服务。

文件结构看起来是这样的:

app/
public/index.php
templates/
  view.html
assets/
  images/
  js/
  css/

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励