1

这是一个随机的,所以我会尽量弄清楚。我只花了大约 3 个小时试图弄清楚发生了什么,我什至不知道我应该去哪里找。

我们使用了我从您那里找到的一种方法,该方法允许我们将 JS 文件直接包含在一个 Jade 文件中。我们将其用作我们所有供应商库和应用程序源代码的清单。从本质上讲,它的工作原理是有一个大的 JS 文件来提供所有应用程序库和代码。

这是清单的一部分,称为application_js.jade

include ../../public/javascripts/lib/modernizr.min.js
include ../../public/javascripts/lib/jquery.min.js
include ../../public/javascripts/lib/prettydate.js
include ../../public/javascripts/lib/jquery.easing.min.js
include ../../public/javascripts/lib/jquery.isotope.min.js
include ../../public/javascripts/lib/jquery.ui.1.9.2.min.js
include ../../public/javascripts/lib/jquery.cookie.js

..等等。

我们的 express 应用程序设置为简单地呈现此文件:

app.get('/javascripts/application.js', function(req, res) {
  return res.render('js-views/application_js');
});

我们最近更新了一些包等,但我很困惑,因为现在,当我们点击 url 时domain.com/javascripts/application.js,这些包含文件中的每一个现在都奇怪地包装在一个<script>标签中并被推送到<head>文档中。以前,它会返回一个直接运行的 javascript 页面,效果非常好。

我知道这并不是真正的最佳实践,但它已经在我们的生产应用程序上运行了大约 6 个月,并且已经足够好了......相信我,我更愿意看到这个东西require.js

如果您需要查看我们的package.json文件或其他任何内容,请告诉我,我们很乐意为您提供帮助。提前感谢您的任何见解!

4

1 回答 1

0

我自己也遇到过同样的问题。Jade 发生了变化,尽管这在以前的版本中有效,但对于较新的版本,我不得不稍微更改一下jade 文件,如下所示:

script
  include ../../public/javascripts/lib/modernizr.min.js
  include ../../public/javascripts/lib/jquery.min.js
于 2014-03-13T13:52:27.633 回答