Node.js + Express
Node.jsとExpressでバックエンドもjavascript。
スレがなかったので立てました。 au光はやたらと書き込み禁止にされるな。なんで?
>>37
nodeの使い方としてはSaasなバックエンド。何をしてるかは話せない。アプリとしては
ビジネス向け。残念ながら日本向けではないんだけどね。
さくらのvpsか。一番安いのが月に980円だね。vpsなら好きなこと出来るな。おれも今借りてる
サーバーがもうすぐ更新時期なので、nodeの使えるサーバーに乗り換えるつもり。Herokuって無料? Linuxサーバーって一回設定したら以後放置だよね。Windows Update + Windows Serverの方がよいよね
http://engawa.2ch.net/test/read.cgi/poverty/1363142026/ expressのstaticファイル読み込みについて質問です。
ディレクトリ構造が以下のようになっていて、
node_modules
public
Lcss
Lhoge.css
Lfuga.css
Limg
Ljs
Lhoge.js
Lfuga.js
view
Lhoge
Lhoge.ejs
Lfuga.ejs
Llayout.ejs
routes
app.js
expressの設定で静的ファイルの読み込み先を
app.set(express.static('public'));
と設定しているのですが、
hoge.ejsに
<scrript src="js/hoge.js"></script>
と指定して、public/js/hoge.jsを読み込んで欲しいのですが、
どうもpublic/hoge/js/hoge.jsを読み込んでいるようで、NotFoundエラーになってしまいます。
静的ファイルの読み込みはlayout.ejsに記述しているため、../js/hoge.jsとするわけにもいかず困っております。
何か良い解決方法は無いのでしょうか? app.set(express.static('public')); でなくて、app.use(exp...でないのですか。こんなふうに。
ただのタイポ? __dirnameはいらないのかな?
app.configure(function() {
app.use(express.static(__dirname + '/views'));
});
あとはわかりません。 Backbone.jsを使ってフロントエンド書いてる。Routerのルーティングで飛んでくるメソッドの中で
再度別のルートへ飛ばすために
router.navigate('/foo/bar', {trigger:true, replace:true});
とやると、この同じメソッドがもう1度以上呼ばれてしまう。変なワークアラウンドで
2回目以上は実行しないようにしたんだけど、根本的に直したい。ていうか他のメソッド
で同じことをしても起こらないのもある。backboneもなかなか意地が悪い。 Node.jsってJavaScriptの知識が全く無い状態からでもNode.js入門みたいな参考書を勉強したら普通に使えるようになりますか?それともJavaScroptの基礎から勉強しないと使い物にならないですか? >>47
後者。Node本はJS自体の入門書ではない
JS本を読みながらNodoのREPLで動かすといい
JS本はDOMとかjQueryが始めの方に出てこないのを選ぶべし >>48
レスありがとうございます。
Node.jsにDOMやjQueryの知識は不要なのでしょうか?
目標に辿り着くまで長そうなので省略出来るなら省略したいと思いまして。
・ノンプログラマのためのJavaScriptはじめの一歩
・スラスラわかるJavaScript
上記二冊を購入したのでこれらを読了した後にNode.js本に進めたらと思います。 >>49
NodeではDOMもjQueryも不要
目次を見る限りではどちらもクライアントサイド(ブラウザ)向けだね
「JavaScript本格入門」が前半にDOMが出てこなくていい本だけど、
プログラミングの初心者向けではない(他の言語の経験者向け)かも Node入門書なら、JSの基本的なところも書いてんじゃない?
逆に熟練者には不要な部分だけど。 Node.js入門にはない
目次見る限り他のにもない 初心者レベルならとりあえずnodeはただの実行環境と思っておけばいい
v8の勉強汁 V8の勉強ってのはC++で書かれたV8のソースを読むこと はじめてのNode.js -サーバーサイドJavaScriptでWebアプリを開発する- (大型本)
http://www.amazon.co.jp/gp/aw/d/4797370904 >>56
これ著者は本の編集者みたいだけど、実務やってないでこんなテキスト書けるのかね。
不思議。 >>58
Node.jsプログラミングガイドを書いた人はjsやajax関係の本をいろいろ出してるみたいだからそこそこ
いいんじゃないかな。「はじめてのNode.js」よりは良さそうってステマくさいけど無関係。 それこそ、あちこちから取って来て編集したんじゃない?w
※冗談ですよ >>58
それは最初に読む本じゃない
他の本を読んだ後に必要なら手元に置いて調べるための本
>>55よりは>>56の方が初心者には優しい
他の言語でサーバサイドの経験があるなら>>55でもいい つかNodeについてはろくな本が出てないんだな。オライリーのクックブックがあるけど、あれは
は初心者向けじゃないしね。英語の本読むしかないんじゃね。
オライリーの”Learning Node”っていうのが良かった。 JavaScriptなんて積極的に使うもんじゃないだろ
クライアント側だけで勘弁 そういう判断の人は出入りしなくて良いよ
少なくとも有益な情報は出してくれなさそうだしね この言語に着目したきっかけって何?
俺は、これ使うとajaxで世界中のデータを俺のサーバに集められると思ったんだが、
普通のレンタルサーバじゃ動かなさそうだし、MYSQLの操作もちょっと面倒そうだし
って認識は合っているかい? ajaxでデータをDBに入れるだけならnode.jsなんか別に無くても出来るが? >>66
レンタルサーバはあれだがPaaSはたくさん使える。Herokuとか
MySQLはあれだがNoSQLは使いやすい。Mongoとか Expressの標準のjs/cssのフォルダ名が
javascripts/stylesheetsになっているんだけど
設定で変更できませんか? テンプレートを直接編集するだけでした
すみませんでした! Node.jsの入門書買って勉強してるけど
やりたい事はだいたいPHPとJavaScriptでてきそうな気がしてきた
実際にこれって使い所あるの? PHPだとapache依存になってしまうからな。nodaアプリはapacheなしでnode.jsさえあれば動く。
RESTfulなシステム作るなら最高にいいと思うね。
node.jsでバックエンド書いて、Angular.jsでフロントエンド書くのが最新トレンド。
Angular.jsとTwitter bootstrapを使うと劇的スピードでフロントエンドが書ける。 ExpressJSも良いがSailsってどうよ? 使ってるヤシ居る?
なんで日本では、node.jsが流行んねぇんだ?
age Nodeクックブック読んだ。
PHPerだったのもあるんだけど、
express使ってアプリ開発してるとhttpクラス周りが何をやっているのか全然見えて来なかったのだが、
そのへんが冒頭で大分理解できた。 SailsはExpressの拡張版かな
こっちの方がちゃんとしたMVCライブラリっぽい書き方できそうだ sailsも0.9間近で楽しみです。 本格的実用は0.10以降でしょうが、、、
て、publicのimagesのフルパスが欲しいんだけど、ヘルパーjsは無いんかな? __dirnameから作るには、悲しスグル。 JavaScriptを殺せなかった(Ajaxで生きながらえさせてしまった)のは
今世紀最大の失敗だったと思うわ
TojiCode: A Tale of two Web Technologies
http://blog.tojicode.com/2013/06/a-tale-of-two-web-technologies.html
コメント欄など見てると、もう駄目だよこれ\(^o^)/オワタ
JavaScriptの置き換えも改善も期待しないほうがいい。
DartもPNaClも政治で潰される。asm.jsはどう考えてもLLVM→asm.jsの変換時間やマルチスレッド対応で躓く。
ウェブはJavaScriptと心中だ。
つかBrendan Eichの老害っぷりがぱない
というより、あれこれ理由をかこつけて自分が作ったJavaScriptを守りたいだけなんだろうけどさ。
JavaScriptやasm.jsに疑義を呈するブログやツイートに片っ端から突撃してくる必死っぷりが心底うざいw
そろそろHTML/CSS/JavaScript全部スクラップにして
第二のウェブを作ることを考え始めてもいい頃合いではないかと思う。
野心ある人はもう取り組んでいるかもしれん。 自分的にはむしろ、JavaScript直接書くより、開発者は
TypeScriptやCoffeeScript, Dart, Haxeみたいな
トランスクリプトを書く方向に移行して
JavaScriptは中間言語的存在になっていくんじゃないかと思う。
30年くらい前は、コンシューマ向けのプログラミングでは
マシン語モニタとか使って16進数で直接書くのが主流だったけど
それがアセンブラに移行し、次に高級言語化していったように。
Haxeとかいいよ。静的型付け、型推論、ジェネリクスなど安全性も担保されてるし
コンパイル後のJavaScriptも、可読性が高い。大規模開発に向いてる。
各種IDEでも対応が進んでるし、他言語への変換もできたり面白い。
Flash(ActionScript)開発者への親和性も高いし、Java開発者にも
かなりとっつきやすい言語仕様。 クライアントサイドはそうかもしれんね
スマホ向けだと特にパフォーマンスが肝だし、
パフォーマンス重視だとキモい書き方を強いられて可読性がかなり犠牲になるという・・
読みやすく書けて高速化は任せられるようにしないと辛いわな v8はかなり早いんだがな
最近は出版業界も前ほど翻訳を出さなくなったな。英語だと10倍ぐらい関連本あるだろ。
だれかが日本ではnodeは流行らないと宣言したのか?出版業界がIT系は儲けが無いことに
気がついたか?ウェブ系は頭が悪いのか? ま、使いたくなければ使わなければいいじゃんか。
まわりの様子を伺って他人が始めるとまねして始めるのかな。 超レスポンスのいいサイト作りたいって客に言われたら何使う?Nodeは選択しない
として。PHPとかやめてねって言われてたら? サーバー側でビットマップ処理するため、bitmap.jsをMeteorのパッケージ化しようとしてます。
npm install bitmap やってから Package.jsを作ってmrt add bitmapしてるんですが、
実行時にNot found moduleになってしまいます、
どなたか試された方はいらっしゃいませんか? そういうことはスタックオーバーフローで聞いた方がいいね。 92でし。
失礼しました。 解決しました。 Meteorを快適に使用しております。 いずれ予定の有料になるのが怖い・・・ 最近のMeteorって使えるようになったの? セキュリティーアブナイアブナイ状態だったんじゃなかったっけ? 画像合成とかはサーバー側でブラウザ立ち上げてCanvasでやるのが楽よ
ブラウザーNodeークライアント間はImageDataのTypedArrayをそのままサポートしてるWebSocketを使う 根本的にAPI中心だからDartにしたところでなんもいいことないと思う Meteorってdeploy後のフォルダー構造って全く違うのね。 はまってしまった。
process_cwd()でチェックして初めてわかった。 bundleで圧縮後のフォルダー構造を参考にやったら上手くいった。
さくらVPSでもMeteor本家でも動くから間違い無いと思うが、deploy側の変更は情報が無いから困ったもんだ。
最近は、安定になり、ちょこっと作ってツール替わりに使えるのが有り難い。 使った後はdeleteでセキュリティーもクソもない。
棚卸しがリモートでできるようになったし、顧客にでかける前にイメージ紹介もパンフ代わりもになるし、何かと便利だね。 >>96
ビットマップの情報取り出しや、変換ぐらいならMeteor.callで呼び出してサーバー側でrequireできる膨大にあるモジュールサービス使った方が楽でね?
おっと Meteor.callはコールバックが直ちに戻るから注意ね。 クライアント側のオブザーバーは別に作る必要がありんこ。 100です。 >>requireできる膨大にあるモジュールサービス使った方が
今の所、自分でnpm package作る場合は、package.jsで呼び出すapi.add_files("xxx.js", ["server"]);の
xxx.jsの中でNpm.require('公開パッケージ名)するしかないから注意ね。
server側ではNpm.requireしないで、exportしたグローバルを使用すること。
これには、はまっちまいました。 てか、そろそろ、MeteorのTIPSブログが欲しいよね。 作ろうか? てか、なんでmeteor?人気あるの?今まで全然知らんかったけど。世界的に人気があるわけでも
ないんじゃ?SNS向きな感じを受けたけどどうなんだろ。 >>100
例えばクライアント側でアバターを作って
その設定をサーバーに送って画像にする場合とか
まるまるスクリプト転用できるでしょ >>104
ああ ネトゲーとかね。 それはあるな。 ゲームはやらないし作らないからまったくイメージがないわ。 簡単なのはMeteorで、次の時代選択は最後発のRendrというところかな?
Rendrってドキュメントが無いんだよなぁ。 ソース読むのが趣味の人用とか? 実際、ExpressとBackbone知ってればRendrはすぐに使えちゃうからな おもしろいのは、みんなメインストリームからはなれたところに興味があるらしいことだな。
つうか、そういうのをまた探し出してくるんだね。みんな天の邪鬼なのか、それともNodeが難しい
からか? 地味にやれば、node.jsとexpressにbackbone.js足して必要分のnpmインスコするぐらいで実務は出来上がるんだろうけど、
これだけフレームワークが次から次と出てくるのはなぜなんかね?
簡単さを追求したMeteorなら方向性はわかるが、他は何を追求しているのかようわからん。
RoRの存在が大きかったのはわかるにしても、住んでる世界が違うような天才ばかり。 よくも、これだけフレームが出てきたもんだ。 Rendrはフレームワークじゃなくてライブラリだと中の人は言ってるけどな
メインストリームそのものだとNode選ばれないからきわものが目立つんじゃまいか フレームワーク使うと書いてる感じが減っちゃうから好まないな Express程度なら追加のフレームワークが出てくる余地は幾らでもあるからでしょ
ていうか、Express自体が他と比べてフレームワークとも呼べないくらいの低レベルだからね。
逆に必要なものだけフレームワーク/ミドル自作して追加するってのもありんこ。てか、そうしてる。 Node+Express+Backbone.jsだと一般的にかなりとっつきづらいというのはあるだろう。普通のPHPなんかのフレームワークを
使ってた人が入ろうとすると、同じようなMVC環境を求めるんじゃないか。過渡的な行動というか。
WP的なものを置き換えられるフレームワークもあるのかな。そういうのはいいな。WPの遅さったらうんこレベルだから。 そうだね。FWと言うにはローレベル。
そこに好きなライブラリ追加が現状。
そのうちフルスタックなのが出るよ。
そしたらもう少し人も増える。 フルスタックなものなんてそもそもいらないでしょ
Node.jsで汎用的なFWが要るとしたら設計ミス 設計ミスは言い過ぎだが、思想が違うとは言える
JSコミュの中でもNodeコミュに顕著なのだが、たとえばテスティングフレームワークでも
クライアントサイドではフルスタックのJasmineが普及してるのに、NodeではMochaベースに
ShouldやExpect、Sinon等々の小さなモジュールを組み合わせて使う方が主流
Webフレームワークも同様で、フルスタック(黎明期からGeddyなどがあった)は受け入れられず、
Expressベースに小さなモジュールを組み合わせて使うのがずっと主流
substackパターンの流行でこの傾向(小さなモジュール志向)は一段と強くなっている >>118
ご紹介どうもです。これ日本製だよね?なんか金儲け主義丸出し。どこがOSSなんだか。
まあ、なんとか金が入らないと困るというのは無論あるけど、最初からそれだとなんか
好かれないというか。つか、これなら俺でも作れる。 >>119
ブログエンジンのサイトはこれで
https://ghost.org/
ソースコードはここな
https://github.com/TryGhost/Ghost
おもなコミッタ/コントリビュータに日本人は見あたらないし、資金はKickstarterで集めてる >>120
「紹介されてるブログエンジン(Ghost)」と、「紹介してるブログサイト(MOONGIFT)」の
区別が出来なかったんだろうなwww
失礼だが、この程度の区別も出来ない人が「俺でも作れる(キリッ)」って(失笑) そのレベルのやつがnode.jsやろうとしてるんだな・・・
どこまで理解して使ってるのか気になるな 実際nodejsって敷居高いよね
cgi+webサーバ(apacheとか)がやってること知らないといかんし >>119
作れないとはいわんけど、、、 Ghostの中のぞいてみた? expresssとbackboneでのガ゛チンコMVCは良いとして、
Dbはじめモジュールてんこ盛りだよ。
かなりハイスキルの方とお見受けしたが、ぜひGitHub公開してくれ! >>121
そうかそうか、チラ見しただけなので。MOONGIFTでググルと日本語サイトしかひっかからないし。
MOONGIFTっていうのがいかにも和製英語だしね。
>>125
ソース見た。まさしくMVC。Backbone.jsは使ってないみたいだけどな。どっかに隠れてんのか?このぐらいの
モジュール数は多くはないね。この前一週間で作ったプロトタイプでこのぐらい。
"dependencies": {
"express": "3.x",
"should": "~1.2.2",
"underscore": "~1.4.4",
"coffee-script": "~1.6.2",
"passport": "~0.1.16",
"passport-local": "~0.1.6",
"oauth": "~0.9.10",
"mongodb": "~1.3.9",
"handlebars": "~1.0.12",
"async": "~0.2.9",
"finish": "~0.4.0",
"node-mandrill": "~1.0.1",
"sugar": "~1.3.8"
},
githubは3件公開ソースがあるけど。まあ、口が悪いやつが多いのでurlは書かない。 >>127
涙ふけよ
それよりshouldをdependenciesに入れるのはやめれ
それはdevDependenciesな こういう人が虚勢癖ってやつかね
2chとはいえもっと謙虚になればいいのにな >なんか金儲け主義丸出し。どこがOSSなんだか。
日本人のこの「金儲けは悪」みたいな精神が
日本のソフトウェア技術や市場の衰退に繋がってる気がしてならない。
スマホアプリも、プレイストア見れば無料アプリですら
ちょっとバグがあるだけで叩かれまくる。 >>133
それはあるあるだなー
OSSかどうかと金を稼ぐかどうかは無関係なのに、>>119はOSSなら儲けるなと言わんばかりだ
ボランティアじゃなきゃOSSじゃないっていうならLinuxもApacheもOSSじゃないわけで
>>119はただのバカだからほっとくとしても、金を出さない&&嫌儲ばかりの世の中じゃなぁ そうかそうか、いろいろ突っ込みどころがあってよかったよ。おまえらとは関係ないしな。
好きなようにやればいいんじゃね。 業務システムでもOSSの利用は当たり前になったのに、OSS開発で
生計立てるのが難しいってのもこの国ならではだよな
Rubyの有名コミッタでさえmatz除けばRubyの開発を本業に
できたのは海外企業(heroku)のおかげだろ 釣り上げられたやつは静かにしてろ! 何言っても恥の上塗りになるだけだ。 それに相当嘘つきのようだし、、、