2014-06-01から1ヶ月間の記事一覧

node-webkitでコールバックで書いた非同期処理をPromise使用に書き換えてみた

node-webkitで作ったアプリで、データロード処理と保存処理部分をそれぞれ書き換えてみた。 PromiseのライブラリはBluebirdを使ってみた。 あと、cheerioをDOMのパースに使用。 FTPは、jsftpを使用。 データロード処理の流れ(load) 1. FTPでデータ取得 2. FT…

node-webkitで作ったアプリをTypeScript化,CoffeeScript化してみての雑感

素のJavaScriptで書いて出来上がったnode-webkitアプリを今後の参考とするためにCoffeeScript化,TYpeScript化。 ライブラリ以外で書いたJSコードは300行程度と、かなり小規模なアプリ。*1 bowerで入れたのがBootstrap,Bootstrap v3 datetimepicker,jQuery,Mo…

node-webkitでTypeScriptを使ってはまるケース

node-webkitのJavaScript Contextでのrequireでのパス解決でハマる場合がある。 例えばこんなファイル構成で index.html js index.js(index.ts) fileUploader.js 各ファイルがこんな感じ。 <html> <head > <meta charset="utf-8" /> ................. <script src="js/index.js"></script> </body> </html> //js/index.js ........…

requireしてnewして使用するnpmのパッケージにTypeScript用の型定義ファイルを書く

こういうの。 ///<reference path='./typing/node.d.ts' /> ///<reference path='./typing/jsftp.d.ts' /> import JSFtp = require('jsftp'); .......................... var Ftp = new JSFtp({ host: connect.host, port: connect.port, user: connect.account, pass: connect.password }); .......................... jsftp用に…</reference></reference>

node-webkitでNode contextからGUIのAPIを使う

メニュー出したりとかデスクトップアプリ特有のネイティブのアレをNode側から使いたい。 1.require時に引数として渡す //index.js var gui = require('nw.gui'); //↓コレ var fileUploader = require('fileUploader')(gui); 例なので全部渡しちゃってるけど…

grunt-slim

メモ Gruntfile.coffee ...................................... slim: pretty: options: pretty: true files: [ expand: true cwd: 'src' src: ['{,*/}*.slim'] dest: 'app' ext: '.html' ] ...................................... grunt.loadNpmTasks('gr…

bower_componentsをディレクトリ別の場所に

.bowerrcに記述 { "directory": "app/bower_components" }

gruntで任意の場所でnpm i --productionする

node-webkitで作成したアプリのパッケージングはappディレクトリを対象として実行してて、npmをcd app してからnpm i --productionと手動で処理していたので、Gruntに登録した。 Gruntfile.coffeeの該当箇所 ...... exec: npm_i_production: cwd: 'app' cmd:…

node-webkitでWindows向けアプリケーションのアイコンを変更する

Icons に書いてある。 Resource Hackerで書き換える。 これだとWindowsのパッケージングが自動化出来ないのでアレ。

node-webkitで作ったアプリをWindows向けにパッケージングする

grunt-node-webkit-builder使う。 使う人の環境がWindowsだけど、一応Macも作っとく。 Gruntfile.coffeeはこんな感じ。appディレクトリに集めたファイルをパッケージング。 module.exports = (grunt) -> pkg = grunt.file.readJSON 'package.json' .........…