我是Geddy的新手,但无法获取HTML脚本标记来插入外部.js文件。我的文件层次结构如下所示:


应用

楷模
控制器
观看次数
外部JS

file.js




在我的一种观点中,我想包含file.js,因此我将其包含在html文件中:

<script src='/ExternalJS/file.js'></script>


但是,这实际上不能拉入文件。我怀疑它与Geddy的路由器有关。截至目前,

https://localhost/ExternalJS/file.js


导致404,因为路由器无法将该路由与控制器/操作对匹配。

我非常想将ExternalJS文件夹保留在原位置;将来我需要添加它。那么,我该如何解决此问题?是路由问题,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
}

10-06 15:14