我有一个目录如下:

    ├──DataTables-1.10.9
    |   └── media
    |        ├── css
    |        └── js
    ├── public
    |   ├── javascripts
    |   └── stylesheets
    └── routes
        ├── index.hbs
        └── home.hbs

在我的index.hbs文件中,底部有一个script,如下所示:
<script src="javascripts/bootbox.min.js"></script>

这个很好用。但是,我试图从DataTables链接home.hbsjs和css,我遇到了404问题。在home.hbs中,我的代码是:
<script src="DataTables-1.10.9/media/js/jquery.dataTables.js"></script>

我搞不懂为什么没用。
我也试过做/DataTables../DataTables以及../../DataTables
当我将jquery.dataTables.js文件移到javascripts中时,它工作正常,但这不好,因为它调用js中的其他DataTables文件,所以我宁愿使用DataTables目录。

最佳答案

从页面的角度来看,只能使用internet上的内容。

    ├──DataTables-1.10.9
    |   └── media
    |        ├── css
    |        └── js
    ├── public
    |   ├── javascripts
    |   └── stylesheets
    └── routes
        ├── index.hbs
        └── home.hbs

公开应该起作用:
    ├── public
    |   ├── javascripts
    |   ├── stylesheets
    |   └── DataTables-1.10.9
    |        └── media
    |            ├── css
    |            └── js
    └── routes
        ├── index.hbs
        └── home.hbs

也许我会用一个更有条理的结构,像这样:
    ├── public
    |   └── assets
    |     ├── stylesheets
    |     ├── javascripts
    |     └── vendor
    |         ├── DataTables-1.10.9
    |         |   └── media
    |         |       ├── css
    |         |       └── js
    |         |
    |         └── Jquery Ui - X.xx.x
    |              ├── js
    |              └── css
    |                  └── img
    |
    └── routes
        ├── index.hbs
        └── home.hbs

Jquery UI只是一个例子,它将如何与更多的供应商包括。
如果你真的有理由不把第三方js放在公共文件夹中,你可以把它压缩到你的min文件“bootbox.min.js”中。
在我的项目中,所有第三方插件都与Grunt连接在我的公共缩小js文件中。

09-30 16:44
查看更多