1

我对在 Javascript 中导入文件的多种方式(脚本标记、RequireJS、组件——如果它是包含文件的另一种方式)有点困惑。在我的项目中,我使用 AMD 和 RequireJS。
现在,我想使用superagent库。
我下载了superagent.js文件,并使用脚本标记将它包含在一些测试页面中。然后,我可以使用一个require函数(在 superagent.js 中定义),如果我写的话,我肯定可以访问 superagent 函数:

var request = require('superagent');

在我的 JS 文件中。
有没有办法在我的项目中使用基于 RequireJS 的 Superagent 库?我希望仍然使用:

var request = require('superagent');

,但显然它不起作用。

4

3 回答 3

0

这对我有用:创建一个名为 bootstrap.js 的 require.config.js 文件,在其中为 superagent 选择一个简单的名称。它看起来像:

requirejs.config({
   map: {},
  paths: {
    'superagent': 'libs/superagent/superagent',
  },
  shim: {},
  packages: []
});

require(['js/main/main']);

在你的 index.html 点 require.js 到 bootsrap.js 例如

现在在您的模块中使用

define(
    ['superagent'],
    function(request) {
    }
);
于 2015-04-15T16:25:12.003 回答
0

你可以试试这个:

require(["superagent"], function(superagent){
    console.log(superagent)
    // there your code 
})
于 2014-12-19T15:23:56.213 回答
0

最终,我找到了一种解决方法。
我使用了库的“组件”版本(即使我不知道什么是组件,所以在这个意义上的任何帮助都值得赞赏),并且我将它封装在一个经典的定义RequireJS 中,没有显式使用require,因为 args 传递定义函数(我不需要 require 函数,因为它是在库本身中定义的)。

define(function () {
.... [all library content]...
return require("superagent");

});

我刚刚添加了第一行,并在库的最后一行之前返回(这只是require("superagent"))。
它似乎有效,即使我仍然对包含 JS 文件的多种方法感到困惑,并且现在每次冒险都包含 JS 库......

于 2014-12-19T15:57:05.717 回答