0

首先,我知道这在很大程度上可能是相当低级的,我很抱歉在问这个之前没有真正尝试任何事情。

你们会建议哪些方法将辅助函数包含在单独的文件中?我习惯了 node.js 的module界面来做这件事,但我不是 100% 知道如何在客户端实现类似的功能。

我想抽象成自己的文件的小例子:

var helpers = (function() {
  var _helpers = {};

  _helpers.buildDateFromDelta = function(delta) {
    date = new Date();
    date.setDate(date.getDate() - delta);
    date.setHours(0, 0, 0, 0);

    return date;
  };

  return _helpers;
})();
4

2 回答 2

2

我对帮助函数进行编码的方式已经设置为可以轻松地将它们包含在单独的文件中。

HTML

<script src="/javascript/helper.js" type="text/javascript">
<script src="/javascript/file-using-helpers.js" type="text/javascript">

助手.js

var helpers = (function() {
  var _helpers = {};

  _helpers.buildDateFromDelta = function(delta) {
    date = new Date();
    date.setDate(date.getDate() - delta);
    date.setHours(0, 0, 0, 0);

    return date;
  };

  return _helpers;
})();

文件使用-helpers.js

var date = helpers.buildDateFromDelta(0);
console.log(date.getFullYear());  // Works

var otherIIFEExample = (function(lib) {
  console.log(lib.buildDateFromdelta(0).getFullYear());
})(helpers);

这是有效的,因为在声明辅助变量时,它是在全局范围内设置的(我假设)。该文件之后包含的其他顶级范围文件也可以使用该变量。

于 2013-07-18T15:11:07.003 回答
1

不确定这是否是您要查找的内容,但这就是我要做的(假设您在 HTML 页面上运行它)

var s = document.createElement("script");
s.src = "external.js";
document.getElementsByTagName("head")[0].appendChild(s);

此代码位于主 js 文件中。
希望有帮助!

于 2013-07-18T15:03:13.733 回答