我可以使用CoffeeScript编写我的Electron(Atom Shell)应用程序吗?

时间:2015-05-17 22:31:51

标签: coffeescript electron

要让Electron运行我的main.coffee文件,还有什么特别的事吗?我有一个main.js文件(有效)我​​转换为CoffeeScript(因此main.coffee),但是当我运行Electron main.coffee时,我收到如下错误:

App threw an error when running [SyntaxError: /Users/foo/develop/electron/main.coffee:13
app.on('window-all-closed', ->
                             ^
Unexpected token >]

我只能假设这是一个CoffeeScript问题,因为当我使用CoffeeScript的块注释(###)评论有问题的代码时,我得到了以下内容:

App threw an error when running [SyntaxError: /Users/foo/develop/electron/main.coffee:13
###
^
Unexpected token ILLEGAL]

我将coffee-script添加到我的packages.json作为依赖项,并确保它像我的其他应用程序依赖项一样安装到我的本地node_modules目录,但这似乎没有帮助。

3 个答案:

答案 0 :(得分:12)

我认为,主文件main.js必须是javascript。但您可以使用coffee-script从那里获取咖啡文件,例如application.coffee

main.js

// main.js
require('coffee-script').register();
require('./application')

application.coffee

# application.coffee
app = require('app')
BrowserWindow = require('browser-window')
# ...

安装咖啡脚本

将其包含在package.json

{
  ...
  "devDependencies": {
    "electron-prebuilt": "^0.33.1",
    "coffee-script": "~1.10.0"
  }
}

并运行:

npm install

答案 1 :(得分:7)

我最近发现,您可以执行以下操作,而不是转换为Javascript:

<script>
  require('coffee-script').register();
  require('../src/app/boot');

然后在src / app / boot.coffee中你可以使用常规的CoffeeScript:)

我在应用https://github.com/postcasio/hearthdash中找到了它,所以有更多的例子。

答案 2 :(得分:6)

没有办法(原子不附带coffeescript编译器),但你可以使用coffeescript的watch选项,

  

-w, - watch监视更改和重新运行命令的脚本

例如:

coffee -w main.coffee在您的情况下。