1

我是 Geddy 的新手,我无法让 HTML 脚本标签拉入外部 .js 文件。我的文件层次结构如下所示:

  • 应用
    • 楷模
    • 控制器
    • 意见
    • 外部JS
      • 文件.js

在我的一个观点中,我想包含 file.js,所以我在它的 html 文件中有这个:

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

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

https://localhost/ExternalJS/file.js

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

我非常希望将 ExternalJS 文件夹保留在原处;我将来需要添加它。那么我该怎么做才能解决这个问题呢?是路由问题,src 的一些愚蠢错误,还是其他什么?

4

1 回答 1

0

如果您真的想将该文件夹保留在原处,而不是在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
}
于 2014-01-22T04:15:24.870 回答