Я создаю приложение с магистралью/RequireJs на переднем конце и узлом/экспрессом на бэкэнде. Все написано на CoffeeScript. У меня проблемы с загрузкой файлов шаблонов HTML вместе с текстом! плагин.
Моя конфигурация выглядит следующим образом:
require.config
paths:
app: 'app'
jquery: 'libs/jquery-1.7.1'
jqueryTmpl: 'libs/jquery.tmpl'
jqueryUI: 'libs/jquery-ui-1.8.18.custom.min'
underscore: 'libs/underscore.amd'
order: 'libs/order'
backbone: 'libs/backbone.amd'
handlebars: 'libs/handlebars'
bootstrap: 'libs/bootstrap/js/bootstrap'
marionette: 'libs/backbone.marionette'
modelbinding: 'libs/backbone.modelbinding'
validation: 'libs/backbone.validation'
jqueryQtip: 'libs/jquery.qtip'
utils: 'utils'
jqueryDatatables: 'libs/datatables/jquery.dataTables'
DT_bootstrap: 'libs/datatables/DT_bootstrap'
user_maintenance: 'templates/tmpl.user.maintenance'
require [
"require",
"jquery",
"underscore",
"backbone",
"order!jqueryTmpl",
"order!marionette",
"order!validation",
"app"
]
Это начало одного из моих представлений: -
define (require) ->
Backbone = require 'backbone'
Backbone.ModelBinding = require 'modelbinding'
require 'jqueryUI'
require 'jqueryQtip'
require '../../scripts/text!user_maintenance.html'
Utils = require '../../scripts/Utils.js'
class UserMaintenanceView extends Backbone.Marionette.ItemView
template: "#tmpl-user-maintenance"
className: "row"
.
.
.
Если я посмотрю на вкладку сети в инструментах разработчика Chrome, файл /scripts/templates/tmpl.user.maintenance.html
был загружен через файл GET
. При нажатии на нее отображается содержимое, которое выглядит так. (Я удалил содержимое для краткости, это просто HTML)
<script type="text/x-jquery-tmpl" id="tmpl-user-maintenance">
</script>
Я не получаю никаких ошибок сценария, но шаблон не отображается в DOM, и мое представление не отображается. Если я просто вставлю HTML-шаблон в основной HTML-файл и не буду пытаться загрузить текстовый плагин, все будет работать нормально. Но я хочу разбить свои шаблоны на отдельные файлы.
Любая идея, что я делаю неправильно?