javascript - 如何使用 require.js 设置一个简单的 Backbone/Marionette 项目及其依赖项

标签 javascript backbone.js requirejs marionette

我已经阅读了很多这方面的书,甚至还专门买了一本关于使用 require.js 设置 marionette 应用程序的书,并关注了 this。 github 上的一些操作方法似乎非常简单...但是出于某种原因,我似乎无法像启动一个空的 Marionette 项目那样简单地工作!

我的项目结构如下:

  • 根目录
    • 模特
    • 观点
    • 图书馆
      • babysitter.js
      • 主干.js
      • jquery.js
      • Marionette .js
      • require.js
      • 文本.js
      • tpl.js
      • underscore.js
      • wreqr.js
    • 收藏
    • 模板
    • index.html
    • main.js

这是我的 index.html:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script data-main="main" src="libs/require.js" type="text/javascript"></script>
</body>
</html>

还有我的 main.js:

require.config({
    paths:{
    jquery:"libs/jquery",
    underscore: "libs/underscore",
    backbone: "libs/backbone",
    text: "libs/text",
    tpl: "libs/tpl",
    marionette: 'libs/marionette',
    'backbone.wreqr' : 'libs/wreqr',
    'backbone.babysitter' : 'libs/babysitter'
    },
    shim:{
    underscore:{
        exports: "_"
    },
    backbone:{
        deps: ['underscore','jquery'],
        exports:'Backbone'
    }
    }
});

require(['marionette'],function(Marionette){


var Application = new Marionette.Application();

Application.on("initialize:after", function(){
    alert("Application has started!");
});

    Application.start();
});

我从他们的 site 下载了 Marionette.js 的 AMD/RequireJS 版本

在浏览器中打开 index.html 后,我在控制台中看到错误“引用错误:主干未定义”(在 marionette.js 的第 20 行)

我做错了什么?

最佳答案

Marionette 需要主干,所以要么将 marionette 添加到你的 shim 中,要么添加到你的 require 调用中,

shim:{
  marionette : ['backbone'],
  ...
}

require(['backbone', 'marionette'],function(Backbone, Marionette){

关于javascript - 如何使用 require.js 设置一个简单的 Backbone/Marionette 项目及其依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19771482/

相关文章:

javascript - TypeScript - 对象不支持属性或方法 'defineProperty'

javascript - 如何从嵌入的外部 svg 文件初始化 d3 svg 元素并对其进行操作

javascript - 在 ES6 synthax 中,如何使用变量键进行命名导出?

javascript - Phonegap和requirejs动态脚本加载失败

javascript - 无法使用 jquery 上传文件

javascript - 从 1970 年之前的日期数组中获取最高日期

ruby-on-rails - 带有 Rails 的 Backbone.js - 处理模型中的重复逻辑

javascript - 可以将 GWT 与基于 javascript 的框架进行比较吗?

javascript - 将项目插入 backbone.js 集合

javascript - 如何在浏览器中使用require