現在、Browserify を使用しようとしていますが、問題が発生しています。
私はいつも Underscore の代わりに Lodash で Backbone を使用しているので、Browserify 用にいくつかの shim スクリプトを書きました。
shims/lodash.js
:
'use strict';
/* global window,require,module */
require('../vendor/lodash.underscore-1.2.0');
module.exports = window._;
shims/backbone.js
:
'use strict';
/* global window,require,module */
require('../vendor/backbone-1.0.0');
module.exports = window.Backbone;
app.coffee
:
'use strict'
$ = require './shims/jquery'
_ = require './shims/underscore'
Backbone = require './shims/backbone'
私は実際にgrunt-coffeeify
Browserifyモジュールを構築するために使用していますが、以下のエラーが表示されます:
Running "coffeeify:source" (coffeeify) task
Warning: module "underscore" not found from "/Users/User/proj/src/js/vendor/backbone-1.0.0.js" Use --force to continue.
バックボーンを正しく動作させるには何を変更すればよいですか? 前もって感謝します。
アップデート
どういうわけか、以下のコードで動作します:
shims/lodash.js
:
'use strict';
/* global require,module */
module.exports = require('../vendor/lodash-1.2.0');
shims/backbone.js
:
'use strict';
/* global window,require,module */
window.$ = require('./jquery');
window._ = require('./lodash');
module.exports = require('../vendor/backbone-1.0.0');
以下のコードをコメントアウトしますbackbone-1.0.0.js
。
//if (!_ && (typeof require !== 'undefined')) _ = require('underscore');
これは何か間違っているように見えますが...