Requirejs-nodejs

提供:Dev Guides
移動先:案内検索

RequireJS-NodeJS

Nodeアダプターは、R​​equireおよびNodeの検索パスの実装とともに使用できます。 RequireJSで使用されるモジュール構成がない場合は、既存のノードベースのモジュールを変更せずに使用できます。 npmコマンドを使用して、プロジェクトの_node_modules_ディレクトリにノードパッケージをインストールできます。

ノードは、ローカルディスクおよびマップ、パッケージ、パスなどの構成オプションからのみモジュールをロードします。 モジュールがRequireJSによってロードされた場合にのみ適用されます。

ノードのインストール

あなたは、最新のリリースファイルをインストールする次のコマンドを使用して、ノードアダプタをインストールすることができます-

npm install requirejs

次の方法でもノードをインストールできます-

  • このhttp://requirejs.org/docs/downloadl#rjs[link]から_r.js_をダウンロードして、プロジェクトフォルダーに保存できます。
  • r.js repositoryからソースを取得するか、_node dist.js_からインストールします。

ノードの使用

このノードを使用するには、_require( 'requirejs')_が必要であり、構成内の_require_関数を最上位のmain.jsファイルに移動する必要があります。

例えば-

var requirejs = require('requirejs');

requirejs.config({
  //load the mode modules to top level JS file
  //by passing the top level main.js require function to requirejs
   nodeRequire: require
});

requirejs(['name1', 'name2'],
   function (name1, name2) {
     //by using requirejs config, name1 and name2 are loaded
     //node's require loads the module, if they did not find these
   }
);

AMDまたはRequireJSを使用したノードモジュールの構築

ライブラリのユーザーを必要とせずに、RequireJSおよびNodeでコードモジュールを動作させ、_amdefine_パッケージを使用してこの動作を実行できます。

例えば-

if (typeof define !== 'function') {
   var define = require('amdefine')(module);
}

define(function(require) {
   var myval = require('dependency');

  //The returned value from the function can be used
  //as module which is visible to Node.
   return function () {};
});

ノードモジュールとしてのオプティマイザー

Nodeモジュールは、コマンドラインツールを使用する代わりに関数呼び出しを使用して、RequireJSオプティマイザーを_optimize_メソッドとして使用します。

例えば-

var requirejs = require('requirejs');

var config = {
   baseUrl: '../directory/scripts',
   name: 'main',
   out: '../build/main-built.js'
};

requirejs.optimize(config, function (buildResponse) {

  //The text output of the modules specify by using buildResponse
  //and loads the built file for the contents
  //get the optimized file contents by using config.out
   var contents = fs.readFileSync(config.out, 'utf8');
}, function(err) {
  //code for optimization err callback
});