6

現在、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-coffeeifyBrowserifyモジュールを構築するために使用していますが、以下のエラーが表示されます:

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');

これは何か間違っているように見えますが...

4

2 に答える 2