Electron + CoffeeScript


CoffeeScript を使って Electron アプリケーションを書く方法を試してみました。reactjs - electronでbabel + reactを直接使えるようにするまで - Qiita を参考にしました。

たぶん、TypeScript なんかも同じように typescript-register とか使えばいけると思います。

ポイント

  • メインプロセスではまだ CoffeeScript 化は成功していない
  • レンダリングプロセスで coffee-script/register を require する

ソース

  • package.json
{
  "name": "testelectron",
  "main": "app.js",
  "scripts": {
    "run": "./node_modules/.bin/electron app.js"
  },
  "dependencies": {
    "coffee-script": "^1.9.2",
    "electron-prebuilt": "^0.26.0"
  }
}
  • app.js
var app = require('app');
var BrowserWindow = require('browser-window');
var mainWindow = null;

app.on('window-all-closed', function() {
    app.quit();
});

app.on('ready', function() {
  mainWindow = new BrowserWindow({width: 800, height: 600});
  mainWindow.loadUrl('file://' + __dirname + '/index.html');
  mainWindow.on('closed', function() {
    mainWindow = null;
  });
});
  • index.html
<!DOCTYPE html>
<html lang="ja">
  <title>greetings</title>
  <div id="greetings"></div>
  <script>
    require('coffee-script/register');
    require('./renderer.coffee')
  </script>
</html>
  • renderer.coffee
greetings = document.getElementById 'greetings'
greetings.innerHTML = "hello, world."

実行

$ npm install
$ ./node_modules/.bin/electron app.js