Domanda Come posso compilare CoffeeScript da .NET?


Voglio scrivere un HttpHandler che compila il codice CoffeeScript al volo e invia il codice JavaScript risultante. Ho provato MS [JScript] [1] e IronJS senza successo. Non voglio usare [Rhino] [2] perché la dipendenza da Java renderebbe troppo difficile la distribuzione.

Come può essere compilato CoffeeScript da .NET?


49
2018-05-21 03:30


origine


risposte:


CoffeeScript-dotnet

Strumento da riga di comando per la compilazione di CoffeeScript. Include un watcher del file system per ricompilare automaticamente CoffeeScript quando cambiano. Equivalente al pacchetto di nodi coffee-script per linux / mac.

CoffeeSharp

Include uno strumento da riga di comando simile a CoffeeScript-dotnet e un gestore HTTP che compila CoffeeScripts quando richiesto da un sito asp.net.

SassAndCoffeeScript

Libreria per Asp.net mvc che compila file sass e coffeescript su richiesta. Supporta anche la minificazione e la combinazione.

Compilare manualmente con IronJS

IronJS è un interprete javascript .NET che può caricare correttamente il compilatore CoffeeScript e compilare CoffeeScript.

Compilare manualmente con Node.js

Ottenere il binari dei nodi e aggiungi la directory bin al tuo percorso. Scrivere un script node.js per caricare il compilatore CoffeeScript e i file CoffeeScript e salvare il javascript compilato.


36
2018-06-14 10:40



CoffeeScript è ora pienamente supportato da Chirpy: http://chirpy.codeplex.com/


32
2018-03-03 02:59



Hai detto esplicitamente che volevi scrivere un compilatore di runtime, quindi questo potrebbe non essere esattamente quello che stai cercando, ma se il punto principale è avere un modo per generare il risultato di javascript, il Mindscape Web Workbench è interessante. È un'estensione gratuita per Visual Studio.NET 2010 e disponibile in Extension Manager. Fornisce Intellisense, l'evidenziazione della sintassi e viene compilato per JS mentre scrivi. Sto solo iniziando a usarlo ma sembra promettente. Scott Hanselman ne parla Qui. Supporta anche LESS e Sass.


8
2017-09-05 15:26



Sono riuscito a compilare CoffeeScript da .NET usando IKVM, jcoffeescript e Rhino. Era semplice, tranne che il sovraccarico del costruttore di JCoffeeScriptCompiler senza parametri non funzionava. Ha funzionato bene con un java.util.Collections.EMPTY_LIST come parametro.

Ecco come l'ho fatto:

  1. Scarica IKVM, jcoffeescript e Rhino.
  2. Esegui ikvmc contro js.jar, creando js.dll.
  3. Esegui ikvmc contro il jar jcoffeescript.
  4. Aggiungi un riferimento alla dll di jcoffeescript in Visual Studio. Potrebbero essere necessari ulteriori riferimenti, ma sarai avvisato di questi.
  5. Esegui il nuovo org.jcoffeescript.JCoffeeScriptCompiler (java.util.Collections.EMPTY_LIST) .compile () nel codice.

Il prossimo passo sarebbe quello di creare un'attività di compilazione e / o un gestore HTTP.


4
2017-10-04 15:38



Dai un'occhiata al nuovo CoffeeScript-dotnet progetto, che utilizza il giurassico Implementazione JavaScript


4
2018-02-03 23:54



Dato che il compilatore CoffeeScript ora gira su Internet Explorer, dopo un paio di modifiche recenti, dovrebbe essere buono andare anche in altri MS-flavor di JavaScript. Prova ad includere extras/coffee-script.jsdall'ultima versione, e dovresti essere bravo con cui andare CoffeeScript.compile(code).


3
2018-06-02 02:29



Ho provato a eseguire il pacchetto extras/coffee-script.js tramite Windows Script Host (o solo wscript) e non ha segnalato alcun problema. Ho quindi aggiunto questa riga:

WScript.Echo(CoffeeScript.compile('a: 1'));

alla fine del file ed eseguirlo wscript di nuovo e ha stampato correttamente il codice JavaScript risultante.

Stai usando oggetti COM? Puoi condividere qualche altro codice responsabile dell'inizializzazione del riferimento all'oggetto MScript?


1
2018-06-13 14:30



CoffeeScript in Visual Studio 2010

È la biforcazione di Chirpy (chirpy è uno strumento per mashing, minifing e validazione di javascript, fogli di stile e file senza punti)

"OK, penso di averlo fatto funzionare sulla mia forcella, basandomi principalmente sul lavoro di altre persone. http://chirpy.codeplex.com/SourceControl/network/Forks/Domenic/CoffeeScriptFixes"

a partire dal http://chirpy.codeplex.com/workitem/48


1
2018-02-25 19:06



Non ho una risposta diretta, (spero che ne trovi una), ma forse dare un'occhiata a quanto segue per vedere come potrebbe essere fatto.


1
2018-06-01 07:33



IronJS ora supporta CoffeeScript ed è generalmente più veloce rispetto agli altri motori .NET JS:

Ho un post sul blog per collegare i due insieme qui:
http://otac0n.com/blog/2011/06/29/CoffeeDemo-A-Simple-Demo-Of-IronJS-Using-CoffeeScript.aspx


1
2017-07-04 07:11