使用带有 Backbone 和 Requirejs 的 jQuery 插件

编程入门 行业动态 更新时间:2024-10-28 11:29:36
本文介绍了使用带有 Backbone 和 Requirejs 的 jQuery 插件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在使用主干+requirejs+jquery,但在我当前的 html 页面中加载 jquery 插件时遇到问题(确切地说是主干 html 模板).

I'm working with backbone+requirejs+jquery and I have a problem with jquery plugin loading in my current html page (backbone html template precisly).

有我需要的配置:

require.config({ paths: { // ... some code about backbone config jquery: '/js/lib/jquery/jquery.min', 'jquery.camera' : '/js/jquery/jquery.camera' }, shim: { // ... some code about backbone config 'jquery.camera': ['jquery'] } });

在我的布局 html 页面中,我有:

In my layout html page I have:

<script type='text/javascript' src='/js/jquery/jquery.camera.js'></script>

在我的模板页面中,我有:

and in my template page I have:

<script type="text/javascript"> jQuery(function() { jQuery('#test').camera({ ... </script>

最后是我的浏览器消息:

Finally my browser mesg :

Uncaught TypeError: Object [object Object] has no method 'camera'

你有什么想法吗?

同时我还有一个问题,在我们当前的页面中包含一些 js 代码的最佳方式是什么,包括主干、requirejs 等.

In the same time I have another question, what is the best way to include some js code in our current page with backbone,requirejs, etc.

谢谢:)

推荐答案

我解决了类似的问题(Jquery.cookie),但我的问题是 Jquery 正在加载,然后 Jquery.cookie 被包含但已经需要将 JQuery 作为静态资源.

I solved a similar issue (Jquery.cookie) like this, but my problem was that Jquery was being loaded and then Jquery.cookie was being included but require already had JQuery as a Static resource.

像这样我将 Jquery.Cookie 传递给应用程序,它只在我的应用程序范围内插入 jquery.cookie.

So like this I pass Jquery.Cookie to the application and it inserts jquery.cookie in my application scope only.

require.config({ paths: { 'async' : 'libs/async' ,'jquery' : 'libs/jquery' ,'underscore' : 'libs/underscore' ,'backbone' : 'libs/backbone' ,'text' : 'libs/text' ,'jquery.cookie' : 'libs/jquery.cookie' // <-- cookie lives here } ,shim: { 'jquery': { exports: '$' } ,'underscore': { exports: '_' } ,'backbone': { deps: ['underscore', 'jquery'], exports: 'Backbone' } ,'jquery.cookie': { //<-- cookie depends on Jquery and exports nothing deps: ['jquery'] } } });

然后在我添加的主 App 类中

and then in the main App class I added

require([ 'jquery' ,'underscore' ,'backbone' ,'mapApp' ,'jquery.cookie' //<- this is the real trick !!! ], function ($, _, Backbone, App) {

在此之后我能够找到 jquery cookie.

After this I was able to find jquery cookie.

顺便说一句:如果您使用 Require.js 来获取它,则无需在 html 中导入 JQuery.camera,除非您在 Require.js 范围之外使用它.

BTW: there is no need to import JQuery.camera in your html if you are using Require.js to fetch it, unless you use it outside your Require.js scope.

更多推荐

使用带有 Backbone 和 Requirejs 的 jQuery 插件

本文发布于:2023-08-02 18:49:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1280238.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:插件   Backbone   Requirejs   jQuery

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!