1

Javascriptでファイルをインポートする複数の方法について少し混乱しています(スクリプトタグ、RequireJS、コンポーネント-ファイルを含める別の方法の場合)。私のプロジェクトでは、AMD と RequireJS を使用しています。
今、私はsuperagentライブラリを使いたいです。superagent.js
ファイル をダウンロードし、スクリプトタグを使用していくつかのテスト ページに含めました。次に、require関数 (superagent.js で定義) を使用できます。次のように記述すれば、確実にスーパーエージェント関数にアクセスできます。

var request = require('superagent');

私のJSファイルで。
RequireJS に基づく私のプロジェクトで Superagent ライブラリを使用する方法はありますか? 私はまだ使用したいと思っています:

var request = require('superagent');

、しかし明らかに機能していません。

4

3 に答える 3

0

これは私にとってはうまくいきます:require.config.jsファイルを作成し、bootstrap.jsと呼び、その中でスーパーエージェントの単純な名前を選択します。次のようになります。

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

最終的に、私は一種の回避策を見つけました。
ライブラリの「コンポーネント」バージョンを使用しました (コンポーネントとは何かを正確に理解していない場合でも、この意味での助けをいただければ幸いです)、 args が渡されるように、 requireを明示的に使用せずに、従来の定義RequireJS でそれを包み込みます。関数の定義に(ライブラリ自体で定義されているため、require関数は必要ありません)。

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

});

最初の行を追加し、ライブラリの最後の行の前に戻ります (これは単にrequire("superagent") でした)。
JS ファイルをインクルードする複数の方法について混乱していても、うまくいくようです。JS ライブラリをインクルードすることは、今日では毎回冒険です...

于 2014-12-19T15:57:05.717 に答える