Tag: 牵线木偶

使用推状态在SEO的木偶应用程序

我做了我的功课,并阅读了关于pushstate的迷你系列: http://lostechies.com/derickbailey/2011/09/26/seo-and-accessibility-with-html5-pushstate-part-2-progressive-enhancement-with-backbone-js/ 从什么理解实施推状态的困难部分是确保我的服务器端将服务于相应的URL的实际页面。 我觉得这将是一个巨大的任务,以前我只是简单地发送一个简单的玉页: body header section div#main footer.site-footer div.footer-icons.footer-element div.footer-element span.footer-link Contact Us span.footer-link Terms of Service script(src='/javascripts/lib/require.js', data-main='/javascripts/application.js') 我正在用我的木偶布局和综合视图做所有的渲染,说实话这有点复杂。 所以从我的理解,我需要复制所有复杂的嵌套/渲染使用服务器端玉,使pushState正常工作? 我在客户端使用了下划线模板,在服务器端重用它们的简单方法是什么?

Marionette.js在'Node'上执行'appendChild'失败:参数1不是'Node'types,

这是我的LayoutView: define(["marionette", "lodash", "text!fonts/template.html", "fonts/controls/view", "fonts/products/view"], function(Marionette, _, templateHTML, ControlsView, ProductsView) { 'use strict'; var FontsView = Marionette.LayoutView.extend({ regions: { controls: '#controls', products: '#products-list' }, template: _.template(templateHTML), onRender: function() { this.getRegion('controls').show(new ControlsView()); this.getRegion('products').show(new ProductsView()); } }); return FontsView; }); 这是我的产品查看: define(["marionette", "lodash", "text!fonts/products/template.html", 'fonts/products/item-view', 'fonts/products/collection'], function(Marionette, _, templateHTML, ProductItemView, ProductsCollection) { 'use strict'; var ProductsView […]

Backbone.Marionette不承认Marionettefunction

我有以下的玉模板,包含链接到木偶(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 代码是从节点/快递服务器进程中提供的。 任何想法,我哪里错了? 更新:我检查了networkingstream量,看起来不像木偶库是由于某种原因被加载。 检查是否从其他地方加载它帮助… 更新:从另一个CDN加载依赖关系会导致Backbone.Marionette库出现在networkingstream量中,但现在我得到这个错误: backbone.marionette.min.js:19 Uncaught TypeError: Cannot use 'in' operator to […]

服务客户端Jade模板

我想用Backbone在客户端使用Jade模板。 我怎样才能做到这一点? 现在,我已经成功configuration了Backbone(Marionette)来编译Jade模板,以便在其视图中使用: Marionette.TemplateCache.prototype.compileTemplate = (tmplStr) -> console.log "jade stuff: ", jade.compile(tmplStr) return jade.compile(tmplStr) “问题”是:我目前正在写模板,如: script(type="text/template", id="tmplMainView") | h1= title | p= content 注意这些pipe道( | ),以防止Jade试图在服务器端解释/parsing它们。 我怎样才能消除这些? UPDATE 也许我可以使用jade –client标志…但它提供了一个单一的编译function:例如 h1= title 变 function anonymous(locals, attrs, escape, rethrow, merge) { attrs = attrs || jade.attrs; escape = escape || jade.escape; rethrow = rethrow || jade.rethrow; […]