2017-02-21 1 views
1

requireJsの仕組みを理解しようとしています。 requireJsの設定中に私が出会ったプロパティ "packages"があります。 "パッケージ"は、 "main.js"を含む完全なフォルダ/モジュールに言及するために使用されると私が理解しているところは、& main.jsはそのモジュール内の他のすべての依存関係を必要とします。しかし、configファイルの "packages"については、main.jsを自動的にロードするか、main.jsをロードするために何かする必要があるのでしょうか? 以下は私のフォルダ構造&のmain.jsスニペットです。 'main.js'はアプリケーションのデータメインまたはエントリポイントです。requireJs設定の "packages"プロパティは何を意味しますか?そしてそれはどのように機能するのですか?

enter image description here enter image description here

答えて

1

ので、いくつかのものを試した後、私が理解することは、パッケージには、あなたが他のモジュール(commonJsディレクトリはドキュメントは、それが参照するものである)を持つディレクトリまたはフォルダを言及することができますということです。だから我々は、パッケージを定義する方法は、次のとおりです。

名前は、この全体のディレクトリまたはフォルダのエイリアスです
packages: [ 
      {name : 'controllers' , location :'../controllers' }, 
      {name : 'directives' , location : '../directives'}, 
      {name : 'services' , location : '../services'} 
     ] , 

。 locationは、main.jsまたはrequireJsの設定ファイルに対するフォルダのパスです。

2点に答えると、自動的には読み込まれません。それをロードするには、どこかでそれを要求する必要があります。いったんrequireすると、requireJsはデフォルトでそのディレクトリの中にmain.jsをロードします。このmain.jsには、そのディレクトリ内の他のすべてのモジュールを定義する必要があります。たとえば、アプリケーションをブートストラップする前に、私のapp.jsにそれを必要とします。

require([ 
// Add additional dependencies 
'angular', 
'angular-ui-router', 
'jquery', 
'app', 
'route', 
"controllers", 
"directives", 
"services"] , function(){ console.log("All dependencies loaded"); }); 
関連する問題