[英]How to avoid redundant Backbone / jQuery init with Chaplin and Browserify
将卓别林与Browserify和jQuery结合使用要求您执行以下操作:
Backbone = require('backbone')
$ = require('jquery')
Backbone.$ = $
Chaplin = require('chaplin')
require('chaplin')
必须写上它require('chaplin')
。 如果您在使用Chaplin的任何模块中甚至一次都错过了此操作,并且该模块首先被初始化,则Chaplin将被破坏,因为它将初始化为在不使用jQuery的情况下使用Chaplin,但后来您最终将Backbone.$
设置为jQuery
而Chaplin则没有期待着。
卓别林的View就是一个例子,它将被初始化为使用'appendChild'而不是containerMethod的'append'。 但是该元素将是一个没有appendChild的jQuery选择器。
是否有任何方法可以在Browserify中强制执行该命令,以便在每个使用卓别林的模块中都不需要此样板代码?
您可以创建一个模块来运行您的初始化步骤并导出Chaplin
。
// my-chaplin.js
var Backbone = require('backbone')
Backbone.$ = require('jquery')
module.exports = require('chaplin')
始终需要此模块,而不是直接需要chaplin
:
// Each module in your app
var Chaplin = require('./my-chaplin');
CommonJS保证此初始化运行一次,无论您需要执行多少次 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.