How to enable harmony syntax support in coffeescript?(如何在 coffeescript 中启用和声语法支持?)
问题描述
我使用带有 --harmony
标志的 node.js(0.11.13) 并使用了 function *()
和 yield
关键字.
I used node.js(0.11.13) with --harmony
flag and used function *()
and yield
keywords.
我尝试借助 coffeescript 简化我在 node.js 上的开发,到目前为止它运行良好,但我遇到了 yield
和声明生成器的麻烦 - 它抱怨 'reserved关键字产量'.
I tried to simplify my development on node.js with help of coffeescript, so far it works great but I went into troubles with yield
and declaring a generator - it complains about 'reserved keyword yield'.
有什么想法吗?
推荐答案
另一种打开黑色次元之门的方法是:
Another way to open the gate to the black dimension is:
co = require 'co'
sleep = require 'co-sleep'
co(`function*(){1`
console.log 'hi!'
`yield sleep(1000)`
console.log 'bye!'
`1}`)()
这似乎是完全有效的咖啡脚本,不过,webstorm cofeescript 插件会抱怨错误,但它可以工作.
It's seems to be perfectly valid coffee-script, though, webstorm cofeescript plugin cries about errors, but it works.
以下解决方案(vanilla coffeescript 和 gulp)也是可能的:
Also the following solution(vanilla coffeescript and gulp) is possible:
co = require 'co'
sleep = require 'co-sleep'
$ = (cor) -> cor
$yield = (cor) -> cor
do co $ ->
console.log "hi!"
$yield sleep(1000)
console.log "bye!"
gulp.task 'node-js', ->
gulp.src config.srcServerJs, {base: config.srcServerJsBase}
.pipe plumb()
.pipe coffee()
.pipe replace(/$(function(/g, '$(function*(')
.pipe replace(/$yield(/g, 'yield (')
.pipe gulp.dest(config.dstServerJs)
魔术:IDE 中没有错误 :)
magic: no errors in IDE :)
更新在尝试并阅读了很多关于咖啡、ecma6 及其未来的资料后,我决定放弃咖啡脚本并使用 ECMA6 支持 node.js 和客户端的 traceur
Update After trying and reading a lot of stuff about coffee, ecma6 and its future I decided to give up on coffeescript and go with ECMA6 with support of traceur for both node.js and client-side
这篇关于如何在 coffeescript 中启用和声语法支持?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 coffeescript 中启用和声语法支持?
基础教程推荐
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 动态更新多个选择框 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01