繁体   English   中英

如何避免与卓别林和Browserify冗余Backbone / jQuery初始化

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM