-1

我刚刚安装了 Coffeescript 并尝试了一个测试编译,但它总是让我因为愚蠢的事情出错,Coffeescript 只有在只使用 Coffeescript 语法时才能正确编译?

因为如果是,那么我理解错误。在此处输入图像描述

concDev.js 内容:

/*! ProjectName 2013-08-18 06:08:39 */
$(function() {

  // Avoid `console` errors in browsers that lack a console.
  (function() {
      var method;
      var noop = function () {};
      var methods = [
          'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
          'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
          'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
          'timeStamp', 'trace', 'warn'
      ];
      var length = methods.length;
      var console = (window.console = window.console || {});

      while (length--) {
          method = methods[length];

          // Only stub undefined methods.
          if (!console[method]) {
              console[method] = noop;
          }
      }
  }());

});
// New file
$(function() {

  // Handler for .ready() called.

});
4

1 回答 1

2

您不能在 Coffeescript 中使用 C 风格的注释。

/*! Project Name ...*/

应该是这个

# Project Name ...

更一般地说,如果您使用的是 Coffeescript 编译器,则需要有效的 coffeescript 语法,并且不能混合和匹配 JS 和 coffeescript 文件。

更新

您正在尝试将 JS 文件传递​​给 coffeescript 编译器。咖啡编译器接受一个咖啡脚本文件,并将其编译为一个 JS 文件。您在 Coffeescript 中的文件看起来像这样:

#! ProjectName 2013-08-18 06:08:39 */
$ ->

  # Avoid `console` errors in browsers that lack a console.
  do  ->
      noop = -> null
      methods = [
          'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
          'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
          'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
          'timeStamp', 'trace', 'warn'
      ]
      length = methods.length
      console = window.console = window.console || {}

      while length--
          method = methods[length]
          # Only stub undefined methods.
          if !console[method]
              console[method] = noop;
// New file
$ ->
  #Handler for .ready() called.

如果你真的需要在你的咖啡脚本文件中有一些 JS,你可以使用这样的反引号嵌入它

a = `(function() x{ return 2;})()`
于 2013-08-18T17:19:08.447 回答