我是 Geddy 的新手,我在获取 HTML 脚本标签以拉入外部.js文件时遇到问题。我的文件层次结构如下所示:
- 应用
- 模型
- 控制器
- 视图
- 外部简斯
- 文件.js
在我的一个视图中,我想包含 file.js,所以我在它的 html 文件中有这个:
<script src='/ExternalJS/file.js'></script>
但是,这实际上不适用于拉入文件。我怀疑这与Geddy的路由器有关。截至目前,前往
https://localhost/ExternalJS/file.js
导致 404,因为路由器无法将该路由与控制器/操作对匹配。
我非常想将外部JS文件夹保留在原处;我将来需要添加它。那么我该怎么做才能解决这个问题呢?是路由问题,src的一些愚蠢错误,还是其他什么?
如果你真的想把那个文件夹保留在原处,而不是在public
目录中,你需要为它编写一些路由和一个静态文件处理程序。
您的路线应该看起来像这样(这是我的头顶,未经测试)
router.get('ExternalJS/:file(.:format)').to('Main.externaljs')
然后在您的main.js
控制器中,您需要执行以下操作:
this.externaljs = function (req, res, params) {
// serve up the file from disk or cache or something
}