我有以下jade模板,其中包含Marionette(在CDN上)的链接以及所有依赖项,我已经检查过并按正确的顺序列出。但是,以下代码:
extends layout
block content
h2 Characters and Portraits
div(class="container") Portraits Loading...
script(src="https://code.jquery.com/jquery-3.1.0.slim.min.js" integrity="sha256-cRpWjoSOw5KcyIOaZNo4i6fZ9tKPhYYb6i5T9RSVJG8=" crossorigin="anonymous")
script(src="https://cdnjs.cloudflare.com/ajax/libs/json2/20150503/json2.min.js")
script(src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js")
script(src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js")
script(src="https://cdnjs.cloudflare.com/ajax/libs/backbone.marionette/3.0.0/backbone.marionette.min.js")
script.
var CharacterTemplating = new Marionette.Application();
CharacterTemplating.on("start", function(){
console.log("Character Templating has started!");
});
CharacterTemplating.start();
导致此错误:
characters:5 Uncaught ReferenceError: Marionette is not defined
代码从节点/快速服务器进程提供服务。知道我哪里错了吗?
更新:我检查了网络流量,看起来似乎没有因为某些原因加载Marionette库。检查是否从其他地方加载它有助于......
更新:从另一个CDN加载依赖项会导致Backbone.Marionette库出现在网络流量中,但现在我收到此错误:
backbone.marionette.min.js:19 Uncaught TypeError: Cannot use 'in' operator to search for 'default' in undefined(anonymous function) @ backbone.marionette.min.js:19(anonymous function) @ backbone.marionette.min.js:14(anonymous function) @ backbone.marionette.min.js:14
characters:5 Uncaught TypeError: Marionette.Application is not a constructor
代码几乎没有从我用于参考的书中的示例代码(Backbone.Marionette:A Gentle Introduction)改变,所以它应该工作......看看是否可能有另一个基本参考用作指引。也许是一个更新的......
更新:使用主Backbone.Marionette API文档中的语法再次尝试:
var Mn = require('backbone.marionette');
接下来是:
var CharacterTemplating = new Mn.Application();
导致此错误:
Uncaught ReferenceError: require is not defined
所以看起来在Jade模板中没有节点; hhhhmmmm ......不管怎样我都不需要在节点中使用牵线木偶,因为我将它包含在脚本中。