запустить coffeescript из файла * .coffee в Asp.Net - PullRequest
0 голосов
/ 02 февраля 2012

Я устанавливаю расширения для визуальной студии "Mindscape Web Workbench" и добавляю ссылку LessCoffee из Nuget.

На своей странице я написал эти коды, и она работает.

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
    <script src="http://jashkenas.github.com/coffee-script/extras/coffee-script.js"      type="text/javascript"></script>

   <script type="text/coffeescript"> 

    @fonksiyon = () -> alert "I knew it!"

    @myalert=(myText)-> alert myText

    </script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <input type="button" id="deneme" onclick="fonksiyon()" value="Deneme" />
    <br />
    <input type="button" id="Button1" onclick="myalert('yazi veya uyari')" value="Deneme" />    </asp:Content>

Я хочузапустить тот же код из "Coffee1.coffee", поэтому я написал это:

в CoffeeScript.coffee

    @fonksiyon = () -> alert "I knew it!"

    @myalert=(myText)-> alert myText

На странице Asp.net:

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
    <script src="http://jashkenas.github.com/coffee-script/extras/coffee-script.js" type="text/javascript"></script>
    <script src="CoffeeScript1.coffee" type="text/coffeescript"></script>

</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">

    <input type="button" id="deneme" onclick="fonksiyon()" value="Deneme" />
    <br />
    <input type="button" id="Button1" onclick="myalert('yazi veya uyari')" value="Deneme" />
</asp:Content>

Но этот код не работает.

CoffeeLess добавить web.config:

    <httpHandlers>
      <add path="*.coffee" type="DotSmart.CoffeeScriptHandler, LessCoffee" verb="*" validate="false" />
      <add path="*.less" type="DotSmart.LessCssHandler, LessCoffee" verb="*" validate="false" />
      <add path="*.less.css" type="DotSmart.LessCssHandler, LessCoffee" verb="*" validate="false" />
    </httpHandlers>
  </system.web>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
      <add path="*.coffee" type="DotSmart.CoffeeScriptHandler, LessCoffee" verb="*" name="DotSmart.CoffeeScriptHandler" />
      <add path="*.less" type="DotSmart.LessCssHandler, LessCoffee" verb="*" name="DotSmart.LessCssHandler" />
      <add path="*.less.css" type="DotSmart.LessCssHandler, LessCoffee" verb="*" name="DotSmart.LessCssHandler2" />
    </handlers>
  </system.webServer>

Я управлял им с помощью Firebug и возвращаю эту ошибку:

'SyntaxError: зарезервированное слово«функция» в строке 4 'при вызове метода: [nsIDOMEventListener :: handleEvent] [Break On This Error]
Отфильтрованный chrome url chrome: //firebug/content/net/spy.js

Что следуетЯ делаю?

Спасибо.

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Здесь информация может быть полезна в вашей работе.

http://blog.dotsmart.net/2011/06/30/lesscoffee/

0 голосов
/ 02 февраля 2012

Если вы используете httpHandler для обслуживания файлов * .coffee, они конвертируются на сервере в JavaScript, поэтому ваш тег сценария на стороне клиента должен фактически указывать JavaScript:

<script src="CoffeeScript1.coffee" type="text/javascript"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...