タグ : nodejs

PDXNode Presentation Night July 2017 参加レポート

せっかくポートランドに出張に来ているので PDXNode Presentation Night というミートアップに参加してきました。その様子をご紹介させていただきます。

続きを読む

[Node.js] npm package の実行ファイルは node_modules/.bin にシンボリックリンクで存在する

Node.js で npm install した package の実行ファイルは node_modules/.bin ディレクトリ配下にシンボリックリンクが自動作成されます。

npm logo

(例) とある node_modules/.bin 配下

$ ls -l ./node_modules/.bin
lrwxr-xr-x  1 codenote  staff  22 Apr 21 18:11 express -> ../express/bin/express
lrwxr-xr-x  1 codenote  staff  22 Apr 21 18:11 grunt -> ../grunt-cli/bin/grunt
lrwxr-xr-x  1 codenote  staff  16 Apr 21 18:11 jade -> ../jade/bin/jade
lrwxr-xr-x  1 codenote  staff  21 Apr 21 18:12 npm -> ../npm/bin/npm-cli.js

Node.js で開発して4年以上も経つのに知らなくて、自分でもびっくりしました。

ちなみに、モジュールにコマンドが用意されていた場合のみ /path/your_project/node_modules/.bin にシンボリックリンクが作成されます。

[Node.js] CSVTOJSON を使って CSV から JSON ファイルに変換する

CSVTOJSON という npm モジュールを利用して、CSV を JSON ファイルに変換するスニペットをご紹介します。

csvtojson をインストールする

npm install -g csvtojson

csvtojson を使って CSV から JSON ファイルへ変換する

var Converter=require("csvtojson").Converter;
var csvConverter = new Converter({
  constructResult: false,
  toArrayString: true
});
 
var pathName = "/Users/bakorer/Downloads/";
var readStream = require("fs").createReadStream(pathName + "sample.csv");
var writeStream = require("fs").createWriteStream(pathName + "sample.json");
 
readStream.pipe(csvConverter).pipe(writeStream);

以上です。

Node.js のバージョンを自動で切換えてくれる avn

Node.js のバージョンを自動で切換えてくれる npm モジュール avn を使ってみました。(最終更新日 2017/04/15)

avn, avn-nvm, avn-n をインストール&セットアップ

$ npm install -g avn avn-nvm avn-n
$ avn setup
avn: profile setup complete (~/.zshrc)
avn: profile setup complete (~/.bash_profile)
avn: restart your terminal to start using avn
avn: configuration complete (~/.avnrc)
avn: installation complete
avn-n: installation complete
avn-nvm: installation complete

avn で Node.js のバージョンを切換えてみる

.node-version ファイルが存在するディレクトリに移動すると avn が自動的に Node.js のバージョンを切換えてくれます。

.node-version のサンプル

v6.10.2
$ cd ~/works/my_project
avn activated v6.10.2 (avn-nvm v6.10.2)

nvm の元となる rvm だと自動的に Ruby のバージョンを切換えてくれていたので、それと同じような挙動をしてくれるようになるのは嬉しいですね。

[Node.js] MONGOOSE WARNING がでないように stable version を使おう

Node.js + Mongoose のアプリ開発で MONGOOSE WARNING という警告メッセージが表示されたら、 unstable バージョンを利用していると思われるので stable なバージョンを使いましょう。

mongoose

続きを読む

[Node.js] ファイルの存在チェック

Node.js で、viewファイルの存在チェックして、無ければリダイレクトさせる処理をメモ。

var fs = require('fs');
 
var template = 'novels/'+ title + '.jade';
var templateFilePath = 'views/' + template;
 
fs.stat(templateFilePath, function(e) {
  if (e) {
    console.error(templateFilePath + " file does't exist.");
    return res.redirect('/novels');
  }
 
  return res.render(template);
});

ここでは、テンプレートエンジンは jade を使っているという前提で、動的に生成したファイル名に対応する jade ファイルが存在するかチェックしています。