Skip to content

Instantly share code, notes, and snippets.

@kohashi
Last active February 3, 2017 11:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kohashi/d7532a1d5c9092c3bc439a991586d669 to your computer and use it in GitHub Desktop.
Save kohashi/d7532a1d5c9092c3bc439a991586d669 to your computer and use it in GitHub Desktop.
Angular2 + electron 環境構築

考え方

electron特有の機能としては

  • main.js で画面初期化処理
  • package.jsonの記述がちょっと増える
  • ビルド用の記述(gulpまたはnpm script) くらいなのであまり考えず、普通に angularとして構成を作ればよい。

必要なもの

  • ng-cli
  • electron-cli

実行コマンド

ng init

Electron用に更新・追加

package.jsonを更新

{
  "version": "0.0.0",
  "main": "electron-start.js",
  //something...
}

electron-start.jsを追加

const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow

app.on('ready', function (){
  let mainWindow = new BrowserWindow({width:800, height:600})

  // set URL; 
  mainWindow.loadURL(url.format({
    pathname: path.join(__dirname, 'dist/index.html'),
    protocol: 'file:',
    slashes: true
  }))

  // run DevTool; same as chrome dev tool.
  mainWindow.webContents.openDevTools()

  // memory release
  mainWindow.on('closed', function(){
    mainWindow = null
  })
})

electron立ち上げ

ng build
electron .
@kohashi
Copy link
Author

kohashi commented Feb 3, 2017

typescriptの問題だからなのか、この方式だとlivereloadとかできないので開発効率遅くなるかも。
でもelectronべったりの機能ってあんまりないからなんとかなる・・・?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment