我是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
}