CoffeeScript:coffee -w-file-of.file.coffee提示: “window is not defined”

标签 coffeescript

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

谢谢!

最佳答案

如果要观看文件并进行编译,则需要执行以下操作:

coffee -wc file.coffee

Using only the -w flag causes coffee to just run the script when it changes, as if you had run:

coffee file.coffee

In regards to the window is not defined error, if you want to make your script runnable both in a browser and in node.js, then you can do this:

root = exports ? this

class Thing
  constructor: (@name) ->
  whoAreYou: ->
    alert @name

root.Thing = Thing

另一个有用的标志组合是-wp,它在每次更改文件时仅通过管道将编译javascript标准化。

关于CoffeeScript:coffee -w-file-of.file.coffee提示: “window is not defined”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6347671/

相关文章:

coffeescript - 高阶函数在 casperjs 中不起作用

javascript - CoffeeScript:初始化或增加数组中的值

javascript - 如何在 node.js 中渲染three.js?

javascript - Angular 语法错误 : Unexpected token }

ruby-on-rails - 如何在 Rails 中包含 CoffeeScript

javascript - VueJS - 如何使用 ajax 调用的结果动态初始化模板

javascript - Node.js:确保一段代码在另一段代码之后执行

javascript - querySelectorAll 在 Rails 5 中不起作用

class - 在 CoffeeScript 中,在类级别声明的实例属性可以引用其定义中的另一个实例属性吗?

backbone.js - Backbone 点击事件未触发