把 javascript转换成coffee 的工具: js2.coffee
访问量: 3589
refer to: http://js2.coffee/
介绍说可以把 "simple js" 转换成 coffee. 咱们试试这个simple的度在哪里. 如果能直接转换的话就最好了.
记得几个要点:
1. 全局变量的话,要使用 @global_var 来声明. 否则 coffee 会为你加上 var global_var. 如果它 编译后的文件被其他文件 eval() 调用,则 就不再是 global var了.
2. 如果是在Alloy / Titanium 或者其他框架中, 如果该框架专门对Global 变量做了安排, 那么,就需要在使用js2coffee之前, 先把js中的所有 全部变量, 以 Global 这样的形式来声明.例如:
// 原来的js: var temp = 1 //使用了 var , 就是临时变量, 或者仅仅在当前scope下产生作用. global_var = 3 // 如果没使用var ,就是全局变量. // 修改成: var temp = 1 Alloy.Globals.global_var = 3
3. 使用 js2coffee 命令:
# 安装 js2coffee $ npm install -g js2coffee # --verbose 表示输出详细信息,包括警告等. # -- indent 4 表示用4个空格作为缩进 $ js2coffee 3_xiangji.js --verbose --indent 4 > 3_xiangji.coffee 下面是一些警告级别的日志, 可以根据这个来修改生成的coffee. 3_xiangji.js:106:4: [warning] Assignment of global variable 'pic_menu_bool' 3_xiangji.js:111:4: [warning] Assignment of global variable 'pic_menu_bool'
注意: 使用的时候,它会自动把for 循环的最后一行加上return . 我们务必把这个return 去掉。 否则循环只能执行一次。 见:http://siwei.me/blog/posts/coffeescript-implicit-return-return