首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery作为AMD模块及r.js的优化

jQuery作为AMD模块及r.js的优化
EN

Stack Overflow用户
提问于 2011-10-02 08:12:04
回答 1查看 1.2K关注 0票数 1

好吧,他才是关键人物。我使用curl.js作为我的AMD加载程序,但我不太喜欢"cram“,因为它需要在unix上运行,而且我正在Windows上进行开发。因此想到了来自r.js库的nodeJS适配器,因为节点已经为RequireJS设置了二进制文件。

现在,当前版本(1.6.4)中的jQuery不是有效的AMD模块(版本1.7),而且jQueryUI组件中存在依赖关系,所以我不得不假装如下:

代码语言:javascript
复制
curl( [js!Core/jquery.js] )
    .then( function() {
        define('jquery', function() { return jQuery; });
    })

我的申请对此很满意。但是,使用r.js (版本0.26.0)在此部分失败,有以下错误:

代码语言:javascript
复制
Tracing dependencies for: boot
function (){return jQuery}

node.js:207
    throw e; // process.nextTick error, or 'error' event on first tick
          ^
ReferenceError: jQuery is not defined
at eval at <anonymous> (r.js:7468:30)
at main (r.js:770:33)
at callDefMain (r.js:840:18)

这是我的app.build.js

代码语言:javascript
复制
({
    appDir: '../',
    baseUrl: 'Scripts/',
    paths: {
        'link': '../../../Lib/@Javascript Libs/curl.js/src/curl/plugin/link.js'
    },
    dir: 'built',
    optimize: 'none',
    modules: [
        { name: 'boot' }
    ]
})

下面是完整的参考boot.js (coffeescript):

代码语言:javascript
复制
require([
    'link!styles/main.css'
    'js!Core/jquery.js!order'
    'js!Core/underscore.js!order'
    'js!Core/backbone.js!order'
]).then ->
    define 'jquery', -> jQuery

.next(['Router/MainRouter'])
.then (MainRouter) ->
    new MainRouter()
    Backbone.history.navigate('home') unless Backbone.history.start(
        pushState: false
    )

事先谢谢你给出的任何线索.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-03 22:55:43

对,是这样。RequireJS在其全局requirejs() (又名require())函数上使用了不同的语法。RequireJs也没有"js!“插件内置。您可能必须在您的配置中包含到它的路径。您还可以对非模块javascript文件使用RequireJS的语法。

另外:CRM0.2将支持使用Rhino的Windows环境。我们正在为CRM0.2编写测试,很快就会发布它。

RequireJS语法(删除js!前缀和包含.js扩展):

代码语言:javascript
复制
require([
    'link!styles/main.css'
    'order!Core/jquery.js'
    'order!Core/underscore.js'
    'order!Core/backbone.js'
], function (maincss, jQuery, underscore, backbone) {
    // do something here
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7625264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档