未捕获的引用错误:JST 未在 Backbone 中使用 Jade 模板定义

Uncaught ReferenceError: JST is not defined in Backbone using Jade templates

本文关键字:Jade 定义 Backbone 未在 引用 错误 JST      更新时间:2023-09-26

我刚刚设置了一个骨架 Rails 4 应用程序,并添加了带有一些基本脚手架的backbone-on-rails宝石。

在尝试设置所有内容的过程中,我不断遇到以下错误:

Uncaught ReferenceError: JST is not defined 
(anonymous function)

尝试从主干视图调用模板 index.jst.jade 时。

我添加了一个带有警报的路由,只是为了确保脚手架连接在一起,但我无法克服此错误以正确呈现视图。

我已经包含了玉石宝石,确保 js 视图中的模板路径正确,并相应地更新了清单文件。

我必须在某处定义 JST 吗?我在这里做错了什么?

谢谢

宝石版本:

  • 翡翠 (0.1.1)
  • 主干网在轨 (1.1.1.0)
  • 下划线导轨 (1.7.0)
  • 轨道 4.1.6 红宝石 2.1.0

路由器:

Task.Routers.Tasks = Backbone.Router.extend({
  routes: {
    '': 'index',
  },
  index: function() {  
    alert('index router hit');
  },
});

视图:

Task.Views.TasksIndex = Backbone.View.extend({
  template: JST['tasks/index'] 
});

应用.js:

//= require jquery
//= require lodash
//= require jquery_ujs  
//= require backbone
//= require jade/runtime
//= require task
//= require_tree ../templates
//= require_tree ./models
//= require_tree ./collections
//= require_tree ./views
//= require_tree ./routers
//= require_tree .

应用结构树:

|____javascripts
| |____application.js
| |____collections
| | |____tasks.js
| |____models
| | |____task.js
| |____routers
| | |____tasks_router.js
| |____task.js
| |____views
| | |____tasks
| | | |____tasks_index.js
|____templates
| |____tasks
| | |____index.jst.jade

嗯... 在模板之前是否需要运行时.js文件? http://www.rubydoc.info/gems/jade/0.1.1/frames

这是评论,但我没有足够的观点来评论。 哈哈。