DRYな備忘録

Don't Repeat Yourself.

node.js

Node.jsのchild_process間で、標準出力のpipe

これをやりたい↓ cat ./testdata.txt | grep otiai JavaScriptで、 const cat = spawn('cat', ['./testdata.txt']); const grep = spawn('grep', ['otiai']); cat.stdout.pipe(grep.stdin); grep.stdout.on('data', (chunk) => { console.log('[grep]'); con…

webpackでnpmのbinつくっててfs.readFileSync is not a functionと言われる問題

tl;dr webpack.config.jsに以下を追加 module.exports = { entry: './src/bin/main.js', output: {filename:'./bin/main.js'}, + target: "node", module: { loaders: [ これだけで、ES6のほうでnodejsの標準モジュールをrequireしたとき以下のようにコンパ…

Cannot find module '../build/Debug/iconv.node'

問題 Nodejsで書かれたサーバアプリケーションを起動しようとしたら以下のように叱られた Error: Cannot find module '../build/Debug/iconv.node' 原因 nodeのバージョンだろうなと思った % nvm ls v0.10.33 -> v0.11.14 default -> 0.10 (-> v0.10.33) い…

Macにnvmをインストール

nvmとは プロジェクトごとにNode.jsのバージョンを管理できるやつ cf) rbenv, pyenv, gvm, etc... ゴール MacOSXにnvmをインストール Node.jsのなんか適当に新しめのバージョンをインストール nvmをインストール まず、creationix/nvm · GitHub ながめる。 .…

bower installが失敗する: Object #<Object> has no method 'tmpdir'

問題 % bower install /Users/otiai10/.nvm/v0.8.11/lib/node_modules/bower/node_modules/tmp/lib/tmp.js:266 throw err; ^ TypeError: Object #<Object> has no method 'tmpdir' #以下略 原因 nodejs古い 解決 % nvm ls v0.8.11 current: v0.8.11 default -> v0.8.</object>…

node.jsのsetTimeout内の`this`って何?【node.js】【setTimeout】

問題 とりあえず、コールバック関数の中でthisを使うのは注意 コールバック外で定義されてるthisとは違うから ブラウザJavaScriptで、setTimeoutコールバックで参照できるthisはwindow node.jsにwindowって無いんじゃなかったっけ? node.jsのsetTimeout内の…