node.js

node dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.xxx.dylibエラー

node6がEOLになったのでnode8にあげてfastlaneでionicプロジェクトをビルドしようとしたら以下のエラー発生 dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib Referenced from: /usr/local/bin/node Reason: image not found (省略)…

ndenv 使い方メモ

今さらだけどプロジェクトごとにnodeやら各ソフトのバージョンがバラバラなのが増えて来てnodebrewでいちいち切り替えるのもきつくなってきた。のでndenvいれたのでそのメモ。 ndenvインストール すでにインストールされていないか確認してなければインスト…

【mac】node.jsのバージョン管理(切り替え)について調べたことメモ

各バージョンのnode.jsをhomebrewでインストールして、bash_profileでPATHをちくちくいじって変更していた。が、npmやnpmでインストールしたソフトもバージョン固定でなく複数バージョン使えるようにしたかった。自分の環境ではnpmでインストールしたものが…

【mac】homebrewでnode.jsをバージョン指定してインストール

一般的にはnvmとかnodebrewとか使うのが普通なのだろうとは思う。 今回はあんまり意味ないけど、homebrewで複数バージョンインストールしてそれぞれ使えるようにした。nodeのバージョン6と8をインストール $ brew install node@6 $ brew install node@8.bash…

【node.js】TransformStreamを使ってみた

はじめに babelifyとかいうモジュールのコードを見てたらstreamというのが出てきてよくわからなくなったのでとりあえずいじってみた内容はcsvを読み込んでtsvに変換して出力するだけtest.js #!/usr/bin/env node var fs = require("fs"), inherits = require…

【node.js】端末ごとに処理を分けるサンプル

はじめに 最近、ちょっとjavascriptいじる機会があってiPhone、Androidでけっこう内容が異なる処理をしなくてはならなくなったのでコードを整理する用途でnode.js使ってみたのでメモindex.js import Ios from "ios"; import Android from "android"; import …

【node.js】minifyifyでコードを圧縮する〜watchify、babelify、browserify環境にて

前提 $ watchify -v -t babelify src/index.js -o dist/index.jsこちらのコマンドが動くようにwatchify、babelify、browserifyはいれてあることとする。 使ってみる minifyifyインストール $ npm install minifyify --save実行 $ watchify -v -t babelify -p…

【node.js】export defaultで作ったモジュールをexpressからrequireできなくてes6にして対応した

はじめに 以下のようなディレクトリ構成でserver以下にexpressでサーバーを作成。 で、client以下にreactとかでフロント側のコードを作成。 で、common以下にserverとclientと両方から呼ばれるモジュールとかを置こうとした。clientとcommonはbabelでビルド…

【node.js】expressでstaticが有効にならないと思ったら。。。

地味にハマった。。。 import express from "express"; import path from "path"; var app = express(); // ★こうじゃなくて // app.use(express.static(path.join(__dirname, "..", "dist"))); // ★コレしたら動いた app.use("/dist", express.static(path.…

【node.js】es6での開発で最低限必要な設定メモ〜npm・bower・gulp・grunt・browserify 色々あるけど。。。

はじめに javascriptで開発しているとnpm、bower、gulp、grunt、browserifyなどなど用語が多くて久々にやろうと思うとわからなくて気持ちが落ちる。 で、何もわからずネットで見つけた記事をコピペしてゆくとよくわからないものが一杯入っているというのも嫌…

【socket.io】複数サーバーへの対応メモ

はじめに 今更な内容ですが実際に試したことがなかったのでメモ。 socket.ioをスケールアウトさせるような規模のサービスを作る機会がないのでやっていなかった。。。 まぁ今後もあるかどうか不明だけど、いちおう試しということで実装自体はredisのpub/sub…

【node.js】expressで必ずやる設定などまとめ

はじめに expressでWebアプリを開発してみて次回以降もやるであろうなという作業をまとめておく といっても自分の趣味レベルで作ったものなので大規模にも考慮してとかは全然できていません。とはいえせっかくやったのでできる範囲で案件で使えるようにと考…

【node.js】connect-mongoでSyntaxError: Use of const in strict modeエラーの対応

はじめに Node.js + Express4を使っていて、つまづいた注意点まとめ - Qiita expressでセッションを使おうとしたら上記の記事のワーニングが出ました。 これはセッションの保存先がローカルファイルだと出るワーニングだそうでとりあえずmongodbを入れてそち…

【node.js】expressでエラー処理を実装する方法

はじめに expressでの開発で必須のエラー処理を実装したので次回やるときのためにまとめておくやりたいことは以下 ・エラーが発生したらエラー内容をログ出力 ・ユーザーにはエラーページを表示 ・エラーでサーバーが落ちないように 実装 サーバー本体の実装…

【node.js】expressでログイン処理を実装する方法

はじめに また基本的な機能だけど、node.jsで初めてだったのでよくわからなかったやりたかったことは以下 ・ログイン情報はセッションにいれる ・特定のurl以下はログインしていないと見れなくしたいちょっと調べてみるとPassportというミドルウェアを使うの…

【javascript】promiseの使い方メモ〜条件分岐とか

はじめに node.jsでのサーバーサイドの処理です。 今回やりたかったことはPHPだと以下のような処理 ※あまり意味のないコードをズラズラ書いてわかりずらいが、やりたことはDBから取得した値を見て処理を分岐するような処理を繰り返し行うようなイメージPHPの…

【node.js】expressでapiサーバーを実装するときに最低限必要そうなことをまとめておく

はじめに socket.ioを使って簡単なチャットサーバーを作ろうとしました当初、socket.ioを使わないapiの実装はphpで、socket.ioの部分だけnode.jsで・・・と考えていたのですが どうせならapiの部分もnode.jsで作った方がいいのかなと思ってちょっと調べこと…

【node.js】pm2でexpressが意図せず再起動していたときの原因

今回、ちょっと迷った内容は以下 (1)expressを使ったサーバー起動 (2)urlを叩いてみる (3)(2)のレスポンスは返ってくるけど、サーバーが再起動されるサーバー起動 ./node_modules/pm2/bin/pm2 start app.js --watchurlを叩いてみる curl http://example.com:…

【node.js】expressにてmysqlを使う方法メモ

はじめに 今回やりたかったことは以下 ・expressからmysqlへクエリ実行 ・ormは使わずsqlを直接実行したい ・dbの処理部分は共通化したい ・エラー処理も実装するnode-mysqlというライブラリを使いました 実装 ファイル構成 ├── app.js ├── db.js # dbの共通…

【node.js】expressにてCan't set headers after they are sentでサーバーが落ちる

はじめに 最近ちょっといじってますが、またよくわからず簡単な事にはまってる気がする・・・ やりたかったことはurlパラメータを受け取ってmysqlを検索。結果をjsonで返すというだけですで、mysqlからデータ取得してconsole.logすると取得できるところまで…

fuelphpとsocket.ioでのチャットシステムの作り方まとめ

はじめに 何度かまとめようと思ってたんですけど、なかなかちゃんとまとめられなかったので今回再度まとめてみようと思います。socket.io単体での実装方法はよく見かけるのですが、LAMP環境で構築されたシステムと一緒に構築されるサンプルがあまり見かけら…