从Asp.Net中的*.coffee文件运行coffeescript

本文关键字:文件 运行 coffeescript coffee Asp Net 中的 | 更新日期: 2023-09-27 18:22:08

我安装了"Mindscape Web Workbench"visual studio扩展,并从Nuget添加了LessCoffee引用。

在我的页面上,我写下了这些代码,它正在运行。

<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>

我用萤火虫控制了它,并返回了这个错误:

'调用方法[nsIDOMEventListener::handleEvent]时,SyntaxError:第4行保留字"function"'[在此错误上中断]
筛选的chrome urlchrome://firebug/content/net/spy.js

我该怎么办?

谢谢。

从Asp.Net中的*.coffee文件运行coffeescript

这里的信息可能对您的工作有所帮助。

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

如果您使用httpHandler提供*.coffee文件,它们会在服务器上转换为JavaScript,因此您的客户端脚本标记实际上应该指定JavaScript:

<script src="CoffeeScript1.coffee" type="text/javascript"></script>