require(['underscore'], function ($, _) {
...
});
動作しません!(_
関数ではありません)
それを管理する方法は?
require(['underscore'], function ($, _) {
...
});
動作しません!(_
関数ではありません)
それを管理する方法は?
underscore.js はそれ自体を AMD モジュールとして登録しないことに注意してください (ただし、以前のバージョンでは短時間登録されていました)。そのため、「shim:」を使用して何らかの構成を行わないと、require() 呼び出しで使用することはできません。 :
require.config({
paths: {
jquery: 'lib/jquery.min',
underscore: 'lib/underscore-min'
}
shim: {
"underscore": {
exports: "_"
}
}
});
次のドキュメントを参照してください: http://requirejs.org/docs/api.html#config-shim
が require.js に追加される前shim:
は、プラグイン use.js で同様のことができました (古いバージョンの require.js を使用する必要がある場合)。
これを書いている時点で、require.js の現在のバージョンは 2.1.8 です。
あるいは、lodash.js を underscore.js のドロップイン代替として使用することもできます。これは AMD モジュールとして自身を登録するため、追加の設定なしで使用できます: http://lodash.com/
問題は、コールバックに渡される引数の順序だと思います。
次のようにする必要があります。
require(['underscore'], function (_, $) {
...
});
また、この機能を追加したアンダースコア バージョン 1.2.1 を使用する必要があります。
require(["underscore"], function() {
console.log(_ === window._);
});
それはすべて、スクリプトがどこに基づいているかによって異なります。baseUrl を指定していないので、baseUrl がデフォルトになります。つまり、次の 2 つのいずれかになります。
underscore.js が実際に存在するかどうかを確認します。