2

ネストされたrequire呼び出しでr.jsがファイルの依存関係を見つけるのに問題があります。

文字列の配列をrequireに渡すと、コンプレッサーは正常に動作し、すべてのファイルの依存関係が見つかります。

define([
    'jquery', 
    'underscore', 
    'backbone'
], function() {
    require(['views/MobileNavView']);   // Works fine!
});

変数に割り当てた文字列の配列を require に渡すと、圧縮プログラムはファイルの依存関係を見つけられません。

var requiredFiles = [
    'views/MobileNavView'
];

define([
    'jquery', 
    'underscore', 
    'backbone'
], function() {
    require(requiredFiles); // Doesn't Work!
});

文字列の配列を変数に割り当てた場合、コンプレッサーがファイルの依存関係を見つけられない原因は何ですか?

ここに私のapp.build.jsがあります

({
    baseUrl: '.',
    findNestedDependencies: true,
    mainConfigFile: 'Main.js',
    name: 'Main',
    out: 'Core.js',
    optimize: 'none'
})
4

1 に答える 1

3

それは実際に言及され、r.js ドキュメントページで説明されています

(...) したがって、変数名を介してロードされたモジュールは見つかりません。

var mods = someCondition ? ['あいうえお'];
 (改造); が必要です。

これr.jsは、スクリプトをテキストとしてスキャンし、実際には評価しないためです。ソースコードを見ると、多くの正規表現マッチングが行われていることがわかります。

于 2013-02-13T12:48:55.130 に答える