勉強がてらTypeScriptで運営してるサービスを作りなおしているんですが、mongooseのところでちょっとハマったのでメモします。 monooseをインストールして、型定義ファイルもインストールします。 command 1 $ npm i -S mongoose $ typings install -SG dt~mongoose TypeScriptファイルにmongooseをimportします。 command 1 import * as mongoose from 'mongoose'; これでコンパイルすると、 command 1 Error TS2307: Cannot find module 'mongodb'. mongodbがないよ。と怒られるのでインストールします。 command 1

続きを読む

前回の【node.js】socket.ioを使って簡単にチャットを作る方法の続きです。今回はチャットした内容をデータベースに保存する方法です。こうすることによって、一回ブラウザを閉じて再度開いた時に閉じる前のメッセージが残っていたり、途中から参加した人も今までのメッセージが読めるようになります。いくら保存できるようになったとしても、製品レベルには程遠く、脆弱性対策もしていないので、今回は、node.jsでMongoDBを使うことと、MongoDB のオブジェクトモデリングツールであるMongoose(マングース)の使い方のポイントだけを抑えて頂ければと思います。 今回のポイント Mongooseをインストールして簡単な使い方。 チャットのメッセージを保存する。 ブラウザを閉じてもメッセージが残っている。 メッセージを削除する。 削除したメッセージは、相手にも削除されるようにする。 ※予めMongoDBが使える状態にしててください。 必要なnode_modules ejs express mongoose socket.io Mongooseのインストール インストールはいつものnpmでめっちゃ簡単にインストールできます。 $ npm install mongoose app.jsを編集 前回の【node.js】socket.ioを使って簡単にチャットを作る方法のソースからMongooseの追記だけをしたサンプルです。 app.js 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

続きを読む

Tower.jsはnode.jsで使えるモジュールがいっぱい入ってるパッケージです。例えば、node.jsのsocket.ioモジュールでチャットを作ります。CoffeeScriptが使いたいのでモジュールをインストールします。あとそれからそれから、、、というのがだいたい入ってます。 Tower.js http://towerjs.org/ Tower.js models http://towerjs.org/models 僕はこんなに使いこなせるかわかりませんが、とりあえず入れてみて動かしてみたいと思います。参考にさせていただいたのは下記のサイト。 さらばExpressよ!Tower.jsを試すの巻 http://codedehitokoto.blogspot.jp/2012/03/expresstowerjs.html[](http://codedehitokoto.blogspot.jp/2012/03/expresstowerjs.html) Tower.jsはnpmにはいっているのでインストールは簡単です。 Tower.jsインストール手順 // 1.-gオプションを付けてnpmからTower.jsをインストール $ npm install -g tower // 2.$ tower new [フォルダー名] $ tower new sample // 3.sampleフォルダーに移動 $ cd sample // 4.インストールします。 $ npm install // 5.ターミナルを別タブで開いてMongoDBを起動 $ mongod // 6.ターミナルのタブを最初に戻して起動します。 $ node server.js さて、これで動くはずみたいですが、僕のはこんなアラートが出ました。 [Sun, 01 Jul 2012 11:20:01 GMT] INFO Tower development server listening on port 3000 [ERROR] Error Error: failed to connect to [127.

続きを読む

プロフィール画像

こたぽん

JavaScript, React, NextJS, VueJS, NuxtJS, AWS, Firebase, Git, ビールと生ハムが好き

Rakuten, Inc. CyberAgent, Inc.