自己编译CoffeeScript

时间:2015-07-02 13:10:00

标签: compilation coffeescript

我实际上是尝试从github存储库重新编译CoffeeScript编写的CoffeeScript编译器,但我无法重新编译单个咖啡源文件。

我尝试使用coffee安装npm编译器,但是当我尝试运行时,它会给我一个coffee命令执行此操作:

coffee src/lexer.coffee

或者:

coffee -c src/lexer.coffee
  

错误:在lexer.coffee中,第115行的解析错误:意外' ...'
      at Object.parseError(/usr/lib/coffee-script/lib/coffee-script/parser.js:477:11)
  在...
  [长堆栈跟踪]

那么我怎样才能尝试直接运行github存储库中的编译器?当我尝试运行bin/coffeebin/cake可执行文件脚本时,即使在root模式下或使用nodeJS,它们也不会打印并返回1.

2 个答案:

答案 0 :(得分:1)

你错过了cake吗?查看CoffeeScript源代码,看来它正在使用- (void)textFieldDidBeginEditing:(UITextField *)textField { /* keyboard is visible, move views */ if([textField isEqual:self.txt_twitter] || [textField isEqual:self.txt_linkedin]) { [UIView animateWithDuration:0.1f animations:^ { CGRect rect = self.view.frame; // 1. move the view's origin up so that the text field that will be hidden come above the keyboard // 2. increase the size of the view so that the area behind the keyboard is covered up. rect.origin.y -= 130; rect.size.height += 130; self.view.frame = rect; }]; } } - (void)textFieldDidEndEditing:(UITextField *)textField { /* resign first responder, hide keyboard, move views */ /* keyboard is visible, move views */ if([textField isEqual:self.txt_twitter] || [textField isEqual:self.txt_linkedin]) { [UIView animateWithDuration:0.1f animations:^ { CGRect rect = self.view.frame; // revert back to the normal state. rect.origin.y += 130; rect.size.height -= 130; self.view.frame = rect; }]; } } 作为其构建工具。

除非我遗漏了某些内容,否则README中的说明在构建项目方面并不准确。

我能够通过以下步骤来构建编译器:

  1. 克隆CoffeeScript回购。
  2. 从CoffeeScript存储库的根目录运行cake以安装必要的依赖项。
  3. 安装蛋糕:npm install(我讨厌个人不喜欢全局安装,所以我总是只安装项目本地的deps。)
  4. 运行蛋糕构建:npm install cake
  5. 如果没有错误,请确保测试通过:./node_modules/.bin/cake build
  6. 利润!
  7. 我现在正在开设公关,以便在自述文件中更新这些说明。

    编辑:为此开设PR:https://github.com/jashkenas/coffeescript/pull/4031

答案 1 :(得分:1)

两个

  

当我尝试运行bin/coffeebin/cake可执行文件脚本时,即使在root模式下或使用nodeJS,它们也不会打印并返回1.

  

coffee -vnode -v两者都不打印,仍然返回1.当我进入克隆的coffeescript存储库并尝试运行./bin/coffee -v

表示未正确安装nodejs。 (或者至少没有按照coffeescript的要求安装)。在某些Linux安装中,可以将另一个应用程序安装为node,这可能与期望node为nodejs的脚本冲突。请参阅相关问题:nodejs vs node on ubuntu 12.04