构建具有AMD兼容性的Javascript实用程序库

时间:2017-10-26 12:07:44

标签: javascript requirejs

我的目标是为函数式编程构建一组javascript工具,供我们公司的Web开发人员使用。我试过看一下Underscore注释源,但我是RequireJS和AMD的新手,所以这对我来说很麻烦。 首先,我只想拥有一个在导入库时可用的变量。 在这种情况下,布尔值是一个具有返回布尔值的函数的模块。例如:_myLib.booleans.isDefined(var) - 返回true,var是已定义的变量。 不,我有RequireJS设置,但如何使变量可供使用? 我的 main.js

requirejs(['app/booleans'], function (booleans) {
        var _myLib = {};
        _myLib.booleans = booleans;
        return _myLib;
});

当然_myLib是未定义的,我想这是因为它没有分配给任何范围。 有人可以给我一些关于建立这个图书馆的灯吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果要生成正确的AMD库,则需要对其进行设置,以便调用define将自己定义为AMD模块。

define(['app/booleans'], function (booleans) {
  var _myLib = {};
  _myLib.booleans = booleans;
  return _myLib;
});

如果您调用文件myLib.js并为RequireJS提供了良好的配置以便找到它,那么,当您想要使用它时,您可以这样做:

require(["myLib"], function (myLib) {
  myLib.booleans.isDefined("moo");
});

或在另一个模块中:

define(["myLib"], function (myLib) {
  myLib.booleans.isDefined("blah");
});