【问题标题】:CoffeeScript: coffee -w name-of-file.coffee complains: “window is not defined”CoffeeScript:coffee -w name-of-file.coffee 抱怨:“窗口未定义”
【发布时间】:2011-06-15 02:51:44
【问题描述】:

在 CofeeScript 中,我通过这样做来创建一个全局对象:

window.App = 
  init : ->
    ...

运行 coffee -w app.coffee 会抱怨 window is not defined 并且不会重写 app.js 文件。

但是,运行 coffee -c app.coffee 编译没有问题。 如何让coffee -w 接受全局window

CoffeeScript 版本是 1.1.1(来自 coffee -v

谢谢!

【问题讨论】:

    标签: coffeescript


    【解决方案1】:

    如果您想查看文件并对其进行编译,您需要这样做:

    咖啡-wc file.coffee

    仅使用-w 标志会导致coffee 在脚本更改时只运行脚本,就像您运行过一样:

    咖啡文件.coffee

    关于window is not defined 错误,如果你想让你的脚本在浏览器和node.js 中都可以运行,那么你可以这样做:

    root = exports ? this
    
    class Thing
      constructor: (@name) ->
      whoAreYou: ->
        alert @name
    
    root.Thing = Thing
    

    另一个有用的标志组合是-wp,它只是在您每次对文件进行更改时将编译的 javascript 传输到标准输出。

    【讨论】:

    • 您可能只使用class @Thing 而不是使用root 变量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    相关资源
    最近更新 更多