私はそれを理解しました:r.js
あなたとあなたがあなたの構成内で名前を付けたモジュールを読むことによって機能しますmainConfigFile
、ここで重要な注意はあなたの名前付きモジュール内r.js
の最初のrequire
/を見るだけでdefine
それらを探すために行くということです。したがって、たとえば、次の名前のモジュールがありますapp
。
require ['config'], (cfg) ->
require ['angular'], (A) ->
A.module cfg.ngApp, []
require ['routes'], () ->
require [
'factory/a-factory',
'service/a-service',
'controller/a-controller'
], () ->
A.bootstrap document, [cfg.ngApp]
ここでの問題はr.js
、最初のrequire
ステートメントを通過できなかったため、連結が機能していなかったことです。app.coffee
これをに変更したとき、(my )と言います。
require ['config'], (cfg) ->
require ['angular'], (A) ->
A.module cfg.ngApp, []
require ['bootstrap'], (bootstrap) ->
bootstrap()
そして私のbootstrap.coffee
:
define [
'config',
'angular',
'routes',
'factory/a-factory',
'service/a-service',
'controller/a-controller'
], (cfg, A, routes) ->
class Bootstrap
constructor: () ->
routes()
A.bootstrap document, [cfg.ngApp]
angular
これは、次のようにbootstrap
、r.js
構成で定義するだけで、残りの作業を行うincludes
必要があることを意味します。r.js
baseUrl: 'assets/js/app',
mainConfigFile: 'assets/js/app/config.js',
name: 'app',
include: [
'../vendor/requirejs/require',
'bootstrap'
],
out: 'assets/js/dist/app.js'
そして今、それはすべてうまくいきます!r.js
~~それは私が含めるように言わなければならないのは残念requirejs
です、多分私はそこで愚かなことをしましたか?~~
Blimey、私はそのようなディンガスです!
したがって、私のHTMLでは、連結されたスクリプトを次のようにロードしていました。
<script src="assets/js/dist/app.js"></script>
実際に次のようにロードする必要がある場合:
<script src="assets/js/vendor/requirejs/require.js" data-main="assets/js/dist/app"></script>
D'oh!