So verwenden Sie coffeescript mit Sinatra

8

Ich versuche, mit Sinatra zu arbeiten. Ich bin neu in beiden Technologien, also ist das wahrscheinlich etwas albern. Mein Problem scheint zu sein, dass das coffeescript zu Javascript kompiliert, aber nicht auf der Seite ausgeführt wird, stattdessen erscheint es als HTML.

%Vor%     
Jack Kinsella 14.04.2011, 09:17
quelle

4 Antworten

6

Hmm ... Ihr Beispiel basiert auf dieser Sinatra-Dokumentation . Aus irgendeinem Grund versucht Sinatra, die Datei .js als HTML bereitzustellen und führt sie entsprechend vor. Setzen Sie zufällig content_type an anderer Stelle in Ihrer Anwendung? Versuchen Sie, Ihren Code in

zu ändern %Vor%

Sie können auch einen völlig anderen Ansatz ausprobieren, indem Sie entweder Rack :: Coffee oder Barista , um Ihr CoffeeScript automatisch auf Rack-Ebene in JavaScript zu kompilieren. Das könnte einfacher sein, wenn Sie sowieso eine große Anzahl von CoffeeScript-Dateien haben.

Bearbeiten: Nachdem ich das oben genannte gepostet habe, ist mir aufgefallen, dass ich Ihr Markup wahrscheinlich falsch interpretiere. Ist das, was Sie sehen, wenn Sie die Seite test.js in Ihrem Browser laden nur

%Vor%

? Wenn ja, funktioniert alles gut. JavaScript wird nur in Ihrem Browser ausgeführt, wenn es sich in einer HTML-Seite zwischen <script> -Tags befindet oder über <script src="test.js"></script> referenziert wird. Fügen Sie also zusätzlich zu Ihrem vorhandenen Code

hinzu %Vor%

Öffnen Sie dann die alert -Adresse in Ihrem Browser und das Skript sollte ausgeführt werden.

    
Trevor Burnham 14.04.2011 15:19
quelle
3

Von sinatra-coffee-script-template Ich habe nur nach dem gleichen Setup gesucht.

%Vor%

dann in application.coffee

%Vor%

index.erb

%Vor%

layout.erb

%Vor%     
Mark Essel 01.06.2011 19:08
quelle
2

Normalerweise richte ich bei der Entwicklung von coffee -wc dirname/ nur einen Beobachter in meinen CoffeeScript-Dateien ein und stelle die kompilierten JS-Dateien dann zur Produktion bereit. Es ist nicht ideal, aber es ist in mancher Hinsicht weniger kompliziert und entfernt die Abhängigkeit von Node.JS von meinem Produktionsserver (in meinem Fall Heroku).

    
Darren Newton 15.04.2011 11:10
quelle
0

Verwende ein Juwel wie sinatra-asset-snack ( Ссылка ) oder noch besser, benutze einen Bootstrap um zu starten Ihr Projekt, damit Sie sich nicht darum kümmern müssen, alle Installationen einzurichten ( Ссылка )

    
Ben 29.03.2013 07:54
quelle

Tags und Links