gpt4 book ai didi

javascript - 如何使用 Chaplin 和 Browserify 避免冗余的 Backbone/jQuery 初始化

转载 作者:行者123 更新时间:2023-11-29 19:19:51 26 4
gpt4 key购买 nike

将 Chaplin 与 Browserify 和 jQuery 结合使用需要您执行以下操作:

Backbone = require('backbone')
$ = require('jquery')
Backbone.$ = $
Chaplin = require('chaplin')

每次您require('chaplin') 时都必须写这个。如果您在任何使用 Chaplin 的模块中错过一次,并且如果该模块首先被初始化,那么 Chaplin 将被破坏,因为它将初始化为使用没有 jQuery 的 Chaplin,但稍后您最终设置 Backbone.$jQuery 并且 Chaplin 没有预料到这一点。

Chaplin 的 View 将被破坏的一个示例是,它将被初始化为使用“appendChild”而不是“append”用于 containerMethod。但是该元素将是一个没有 appendChild 的 jQuery 选择器。

有没有什么方法可以在 Browserify 中强制排序,这样使用 Chaplin 的每个模块都不需要这个样板代码?

最佳答案

您可以创建一个模块来运行您的初始步骤并导出 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 保证这个初始化 runs once, no matter how many times you require it .

关于javascript - 如何使用 Chaplin 和 Browserify 避免冗余的 Backbone/jQuery 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33676018/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com