Backbone.js を利用するアプリがあります。すべてが正常に機能していましたが、最近プロジェクトに RequireJS を追加したところ、もちろんすべてが機能しなくなりました。そのため、依存関係を定義し、すべてを再び機能させる作業を行っています。
私が得ているエラーはUncaught ReferenceError: JST is not defined.
次の CoffeeScript ビュー ファイルがあります。JST 行に注意してください。
define ["app"], (App) ->
Snip.Views.Appointments ||= {}
class Snip.Views.Appointments.IndexView extends Backbone.View
template: JST["backbone/templates/appointments/index"]
initialize: () ->
@options.appointments.bind('reset', @addAll)
addAll: () =>
@options.appointments.each(@addOne)
addOne: (appointment) =>
view = new Snip.Views.Appointments.AppointmentView({model : appointment})
@$("ul").append(view.render().el)
私の「アプリ」依存関係自体には、依存関係としてバックボーンとアンダースコアがあるため、問題はバックボーンが存在しないことではないと思います。
define ["underscore", "backbone"], (_, Backbone) ->
window.Snip =
Models: {}
Collections: {}
Routers: {}
Views: {}
ページをロードすると、Uncaught ReferenceError: JST is not defined
.
スクリプトに JST を知らせるにはどうすればよいですか?
編集:ここに私のパスとものがあります
require
paths:
jquery: "jquery-1.7.2.min"
underscore: "lodash.min"
appointment: "backbone/models/appointment"
appointmentIndexView: "backbone/views/appointments/index_view"
appointmentsRouter: "backbone/routers/appointments_router"
relational: "backbone-relational"
shim:
"underscore":
exports: "_"
"backbone":
deps: ["underscore", "jquery"]
exports: "Backbone"
"relational":
deps: ["backbone"]
requirejs ["appointmentsRouter"], (AppointmentsRouter) ->
window.router = new Snip.Routers.AppointmentsRouter({appointments: []})
Backbone.history.start()