首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >与微风和requireJS一起工作

与微风和requireJS一起工作
EN

Stack Overflow用户
提问于 2013-07-24 21:02:48
回答 1查看 1.2K关注 0票数 3

因此,也有类似的问题浮出水面,但我希望得到一个最新的答案。

版本-

微风: 1.4.0淘汰赛: 2.2.1 RequireJS: 2.1.5

我正试图在requireJS项目中加载knockoutJS。我们的requireJS配置非常简单-

代码语言:javascript
运行
复制
  require.config({
    waitSeconds: 15,
    paths: {

        'templates': "/ist-common/templates",
        'lib': '/ist-common/js/lib',
        'ist': '/ist-common/js/ist'
    }

});

所以我把微风库加载到下面的目录结构中-

->q.js

->微风。

我正试图定义一个“数据服务”模块来使用微风,并像这样设置它-

代码语言:javascript
运行
复制
define(['lib/knockout', 'lib/q', 'lib/breeze.debug'], function (ko, Q, breeze) {


    var serviceName = '/ist/rest'; // route to the endpoint

    var manager = new breeze.EntityManager(serviceName);
    manager.enableSaveQueuing(true);


    var query = new EntityQuery("missions");
    manager.executeQuery(query, function(data) {

        console.log("success");

    });


});

这种配置可行吗?我试图将脚本标记降到最低,只加载requireJS,然后加载敲除、jquery等,因为我需要它们在模块定义中。

此配置当前由于一条消息失败-

错误:无法初始化Q参见https://github.com/kriskowal/q

编辑*

我能够让它用下面的配置加载Q以满足需求,但是这感觉是错误的。我为什么要设置窗户?难道我不能作为一个命名模块访问q吗?

代码语言:javascript
运行
复制
 var require = {
    waitSeconds: 15,
    deps: ["/ist-common/js/lib/q.js"],
    callback: function(Q){
        window.Q = Q;
    },
    paths: {

        'templates': "/ist-common/templates",
        'lib': '/ist-common/js/lib',
        'ist': '/ist-common/js/ist'
    }

};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-07 11:50:48

你也需要为微风(从Using Angular with breeze and require)的垫片。

代码语言:javascript
运行
复制
breeze: {
    deps: ['ko', 'jquery', 'Q']
},

这是必需的,因为虽然微风确实定义了自己,但它没有定义它的依赖项,但它只是希望它们存在(RequireJs不能用变量而不是字符串来解释它的依赖性?)。

shim也是必需的,因为微风请求' jQuery‘,但是jquery代码将自己定义为'jquery’。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17844754

复制
相关文章

相似问题

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