Javascript Coffeescript使用全局变量将客户端文件移植到节点
我使用的coffeescript globals如下:Javascript Coffeescript使用全局变量将客户端文件移植到节点,javascript,node.js,coffeescript,requirejs,Javascript,Node.js,Coffeescript,Requirejs,我使用的coffeescript globals如下: @gameSettings = {} 我可以从任何文件中评估游戏设置 在不再工作的节点中。有没有一种简单的方法可以使用GLOBAL进行移植,这样我就不必使用requirejs/browserify(因为我希望相同的文件仍能在客户端上工作)?GLOBAL.gameSettings={}有什么问题 如果您还希望它在浏览器中工作,我想您可以简单地执行以下操作: GLOBAL = GLOBAL || window; GLOBAL.gameSet
@gameSettings = {}
我可以从任何文件中评估游戏设置
在不再工作的节点中。有没有一种简单的方法可以使用GLOBAL进行移植,这样我就不必使用requirejs/browserify(因为我希望相同的文件仍能在客户端上工作)?GLOBAL.gameSettings={}有什么问题代码> 如果您还希望它在浏览器中工作,我想您可以简单地执行以下操作:
GLOBAL = GLOBAL || window;
GLOBAL.gameSettings={}有什么问题代码>
如果您还希望它在浏览器中工作,我想您可以简单地执行以下操作:
GLOBAL = GLOBAL || window;
GLOBAL.gameSettings={}有什么问题代码>
如果您还希望它在浏览器中工作,我想您可以简单地执行以下操作:
GLOBAL = GLOBAL || window;
GLOBAL.gameSettings={}有什么问题代码>
如果您还希望它在浏览器中工作,我想您可以简单地执行以下操作:
GLOBAL = GLOBAL || window;
我必须检查每个文件并用全局替换@,没有其他选择吗?@Harry:我想你已经通过艰苦的方式学到了艰难的教训。你应该知道你的globals已经是什么了(对吧?),而且没有太多的globals(对吧?),所以快速浏览一下应该可以解决问题。我必须进入每个文件并用globals替换@,没有其他选择吗?@哈利:我想你已经通过艰难的方式学到了艰难的教训。你应该知道你的globals已经是什么了(对吧?),而且没有太多的globals(对吧?),所以快速浏览一下应该可以解决问题。我必须进入每个文件并用globals替换@,没有其他选择吗?@哈利:我想你已经通过艰难的方式学到了艰难的教训。你应该知道你的globals已经是什么了(对吧?),而且没有太多的globals(对吧?),所以快速浏览一下应该可以解决问题。我必须进入每个文件并用globals替换@,没有其他选择吗?@哈利:我想你已经通过艰难的方式学到了艰难的教训。你应该知道你的全局变量是什么(对吧?),并且没有太多的全局变量(对吧?),所以快速的一点grepping应该能把事情弄清楚。AFAIK@符号表示一个实例变量,而不是全局变量。我假设如果在全局范围内声明,它将成为一个全局,但我认为这将是一个misuse@MildFuzz在客户端@is窗口上,绝对不是误用。我不是100%在这里,但我看到的是,@in CoffeeScript只是一个小小的语法糖,用来整理这个.foo
。在JS中,您通常会使用this
关键字将变量附加到窗口,但这会起作用。我认为《咖啡脚本》中的@
也是如此。严格来说,这不是误用,但可能不是可读性的最佳实践。更典型的做法是使用窗口在客户端定义全局对象。gameSettings
,因为它不像@gameSettings
@MildFuzz那样是上下文敏感的。请注意@
可以是。
(外部)或此。
取决于您如何定义closure.AFAIK@符号表示实例变量,而不是全局变量。我假设如果在全局范围内声明,它将成为一个全局,但我认为这将是一个misuse@MildFuzz在客户端@is窗口上,绝对不是误用。我不是100%在这里,但我看到的是,@in CoffeeScript只是一个小小的语法糖,用来整理这个.foo
。在JS中,您通常会使用this
关键字将变量附加到窗口,但这会起作用。我认为《咖啡脚本》中的@
也是如此。严格来说,这不是误用,但可能不是可读性的最佳实践。更典型的做法是使用窗口在客户端定义全局对象。gameSettings
,因为它不像@gameSettings
@MildFuzz那样是上下文敏感的。请注意@
可以是。
(外部)或此。
取决于您如何定义closure.AFAIK@符号表示实例变量,而不是全局变量。我假设如果在全局范围内声明,它将成为一个全局,但我认为这将是一个misuse@MildFuzz在客户端@is窗口上,绝对不是误用。我不是100%在这里,但我看到的是,@in CoffeeScript只是一个小小的语法糖,用来整理这个.foo
。在JS中,您通常会使用this
关键字将变量附加到窗口,但这会起作用。我认为《咖啡脚本》中的@
也是如此。严格来说,这不是误用,但可能不是可读性的最佳实践。更典型的做法是使用窗口在客户端定义全局对象。gameSettings
,因为它不像@gameSettings
@MildFuzz那样是上下文敏感的。请注意@
可以是。
(外部)或此。
取决于您如何定义closure.AFAIK@符号表示实例变量,而不是全局变量。我假设如果在全局范围内声明,它将成为一个全局,但我认为这将是一个misuse@MildFuzz在客户端@is窗口上,绝对不是误用。我不是100%在这里,但我看到的是,@in CoffeeScript只是一个小小的语法糖,用来整理这个.foo
。在JS中,您通常会使用this
关键字将变量附加到窗口,但这会起作用。我认为《咖啡脚本》中的@
也是如此。严格来说,这不是误用,但可能不是可读性的最佳实践。更典型的做法是使用窗口在客户端定义全局对象。gameSettings
,因为它不像@gameSettings
@MildFuzz那样是上下文敏感的。请注意@
可以是。
(外部)或此操作。
取决于您如何定义闭包。