2011-07-23 5 views
6

Есть ли способ использовать CoffeeScript на стороне клиента?Могу ли я использовать Coffeescript на стороне клиента?

+1

возможно дубликат [Есть ли способ, чтобы отправить CoffeeScript в браузер клиента и он компилируется в JavaScript * там *?] (Http://stackoverflow.com/questions/5170473/is-there-a -tou-to-send-coffeescript-to-the-clients-browser-and-have-it-compiled) –

+0

Используйте то, что вы хотите для проектов хобби, но с точки зрения производства/поддержки, это ужасная идея. Вам не нужно обновлять версию Node.js, если CS отстает от некоторого устаревания, наконец, отбрасывается с языка. Но вы не контролируете браузеры, которые вам нужно поддерживать. Это оставляет вас в покое, как быстро команда CS реагирует и полностью ввернута, если больше нет команды CS. –

ответ

15

Есть два способа:

  1. Скомпилируем CoffeeScript в JavaScript и развернуть его как любой другой файл JavaScript, или
  2. Используйте coffee-script.js, который позволяет поместить <script type="text/coffeescript> теги на вашей странице.

Последний не рекомендуется для использования в промышленности, но это хорошо для разработки. См смежный вопрос: Is there a way to send CoffeeScript to the client's browser and have it compiled to JavaScript *there*?

1

Смотрите также Webmake плагин для CoffeeScript ->https://github.com/medikoo/webmake-coffee

Это позволяет организовать модули кофе в стиле Node.js и связать его для браузера. Он обеспечивает поддержку исходных карт, поэтому вы можете отлаживать файлы CoffeeScript так, как они есть, непосредственно в браузере.

0

Чтобы не компилировать каждый раз вы можете использовать -W параметров и кофе будет компилировать изменения файла каждый раз файловой

coffee -wco src/ public/js 
+0

вопрос заключается в компиляции на стороне клиента, то есть в браузере. Ваш ответ предназначен для компиляции сервера. – iankit

0

Да, это может быть сделано путем добавления CoffeeScript src тег в головной части вашей страницы HTML ,

Скачать источник CoffeeScript с этого пути: http://coffeescript.org/extras/coffee-script.js

Скопируйте и вставьте приведенный ниже код и попробуйте запустить в браузере:

<html> 
<head> 
<script type="text/javascript"> 
function printHelloJava(){ 
alert("Hello Javascript"); 
} 
</script> 
<script src="coffee-script.js"></script> 
<script type="text/coffeescript"> 
@printHello = -> 
    alert "Hello Coffee Script" 
</script> 
</head> 
<body> 
<h1>Coffee Script on client side</h1> 
<input type="button" onclick="printHelloJava();" value="Hello Java"> 
<br> 
<input type="button" onclick="printHello()" value="Hello Coffee"> 
</body> 
</html> 
0

Вы также можете использовать CDN CoffeeScript для лучшего и более высокой производительности.

<script src="http://cdnjs.cloudflare.com/ajax/libs/coffee-script/1.7.1/coffee-script.min.js"></script> 

или

<script src="https://cdn.rawgit.com/jashkenas/coffeescript/1.11.1/extras/coffee-script.js"></script> 

Затем используйте type="text/coffeescript" для компиляции Coffee Script.

<script type="text/coffeescript"> 
    // add code here 
</script>