タイトルにあるように、私のインラインrequire呼び出しは、最適化されていないrequirejs実行では機能しますが、gruntとalmondjsでビルドした場合は機能しません。
Uncaught Error: undefined missing views/some/view
ファイルの先頭は次のようになります。
define(
['jquery', 'app'],
function($, App) {
後でビジネスロジックに基づいて、別のファイルを要求できるようにしたい
require(['views/some/view'], function(SomeView){
console.log(SomeView);
});
別の構文も試しました。
var SomeView= require('views/some/view');
そして、これはすべて、ビルドされていないrequirejsバージョンを使用して機能します。しかし、うなり声とアーモンドでそれを構築すると、再び失敗します
requirejs: {
compile: {
options: {
name: "../components/almond/almond",
baseUrl: "src",
mainConfigFile: "./require.config.js",
include: ['main'],
insertRequire: ['main'], // Add a require step in at the end for the main module.
wrap: true, // Wrap everything up in a closure
generateSourceMaps: true, // Experimental
preserveLicenseComments: false, // Needs turned off for generateSourceMaps
optimize: "uglify2", // Supports generateSourceMaps
out: "assets/javascripts/build.js"
}
}
},
定義呼び出しでファイルの先頭に配置すれば、アーモンドで正常に動作させることができますが、AMDでは無駄を省くことが望ましいのではないでしょうか。