Verwendung von js in Verbindung mit text js zum Laden von HTML-Vorlagen in eine Backbone-Anwendung

8

Ich lerne Backbone js, versuche ein kleines Projekt zu machen.

Auf der Seite lade ich require.js und text.js von der Cloudflare-CDN

%Vor%

Ich habe eine Backbone-Ansicht namens "Boxen" erstellt:

%Vor%

Probleme:

  1. Wenn ich das text.js-Plugin zur Seite hinzufüge, erhalte ich den folgenden Fehler:

    Mismatched anonymous define () Modul: Funktion (Modul) {'use strict'; ......

So kann ich nicht die request.js und die text.js beide geladen haben, es gibt mir den obigen Fehler sogar auf einer leeren Seite ohne irgendwelche anderen Skripte drauf.

  1. Nachdem ich die require js mit text js arbeiten lasse, wie lade ich eine HTML-Vorlage für diese Ansicht?

Im Moment weiß ich, wie es geht, wenn ich meine Vorlagen inline auf der Seite index.html schreibe.

Ich mache es so:

%Vor%

Danke!

    
Dany D 22.10.2013, 16:16
quelle

2 Antworten

13

In Ihrer HTML-Datei müssen Sie nur requrejs laden, wie in dieser index.html gezeigt

%Vor%

Im obigen Beispiel sagt "data-main" an, wo die Bootstrap-Datei geladen werden soll und in diesem Fall unter "js / main.js"

Sie finden die Datei in hier .

In der Datei main.js müssen Sie

angeben %Vor%

zum Konfigurieren von requirejs.

Danach können Sie "define () / require ()" verwenden, um die Vorlagen wie ...

zu laden %Vor%

Siehe hier ein vollständiges Beispiel.

    
Ming Chan 22.10.2013, 18:06
quelle
6

Wenn Sie require.js verwenden, verwenden Sie nur ein Skript-Tag auf Ihrer Seite. Alles andere wird von Require.js geladen.

Um ein Plugin zu verwenden, konfigurieren Sie es in require.config

%Vor%

Dann in Ihren Modulen, rufen Sie es einfach:

%Vor%

Beachten Sie jedoch, dass beim Verwalten von Vorlagen am besten die vorkompilierte Vorlage geladen wird. Das Text-Plugin gibt nur eine Zeichenkette zurück, dies ist nicht sehr gut für die Optimierung und zwingt Sie, die Template-Übersetzungslogik zu wiederholen. Sie sollten ein Template Loader Plugin verwenden, für Unterstriche / lodash micro-template empfehle ich Ihnen dieses: Ссылка

Wenn Sie ein Beispiel für eine App wünschen, die Require.js und Backbone verwendet, sollten Sie Backbone-Boilerplate wirklich überprüfen: Ссылка

Backbone-Boilerplate ist eine gute Möglichkeit, Ihr Projekt schnell einzurichten, indem Sie die Best Practices für die Backbone-Entwicklung verwenden. Außerdem nutzt es AMD ausgiebig, so dass Sie eine funktionierende Einstellung haben, wenn es das erste Mal ist.

    
Simon Boudrias 22.10.2013 18:02
quelle