首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未评估RequireJS模块的依赖关系

未评估RequireJS模块的依赖关系
EN

Stack Overflow用户
提问于 2012-08-14 13:41:33
回答 1查看 359关注 0票数 1

在CoffeeScript中,我有以下(非常简单的)模块定义:

代码语言:javascript
复制
# backbone/routers/appointments_router.js.coffee
define ["app", "underscore", "backbone"], (App, _, Backbone) ->
  console.log(Backbone)

这是我的配置文件

代码语言:javascript
复制
# application.js.coffee
requirejs.config
  paths:
    underscore: "lodash.min"
    backbone: "backbone"
    appointmentsRouter: "backbone/routers/appointments_router"
    "backbone-relational": "backbone-relational"

requirejs ["app", "underscore", "backbone", "appointmentsRouter"], (App, _, Backbone, AppointmentsRouter) ->

下面是所发生的事情:当我加载页面时,我会在控制台中获得undefined,即使主干被列为依赖项。更令人费解的是,如果我在控制台中输入Backbone,就会定义主干。

appointments_router.js.coffee 怎么可能最终会被评估,但是我的不知道骨干吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-14 13:51:04

下划线或主干不是AMD兼容,所以定义路径是不够的。幸运的是,Require.js提供了 -functionality作为这个问题的答案。

所以你得加上这样的东西

代码语言:javascript
复制
requirejs.config( // shouldn't this be just require?
  paths: ..., // don't change these
  shim: {
    "underscore": {
      exports: "_" // define the export
    },
    "backbone": {
      deps: ["underscore"], // define dependencies for backbone
      exports: "Backbone"
    }
  }
);

希望这能帮上忙!

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

https://stackoverflow.com/questions/11953585

复制
相关文章

相似问题

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