質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

3584閲覧

Node.js 実行時エラー

Abenosan

総合スコア25

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/08/16 01:46

現在Node.jsを使いhtmlファイルを読み込みブラウザに表示する処理を書いているんですが、うまいこといきません。原因はなんでしょうか・・・?

<!DOCTYPE html> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Index</title> </head> <body> <h1>Index</h1> <p>これは、Indexページです。</p> </body> </html>
const http = require('http'); const fs = require('fs'); var server = http.createServer( (response,request)=>{ fs.readFile('./index.html','utf-8', (error,data)=>{ response.writeHead(200, {'Content-Type': 'text/html'}); response.write(data); response.end(); }); } ); server.listen(3000); console.log('Servrer Start!');

エラーメッセージ

PS C:\Users***ユーザ名***\Desktop\作品\NODE-APP> node appp.js Servrer Start! C:\Users***ユーザ名***\Desktop\作品\NODE-APP\appp.js:7 response.writeHead(200, {'Content-Type': 'text/html'}); ^ TypeError: response.writeHead is not a function at fs.readFile (C:\Users***ユーザ名***\Desktop\作品\NODE-APP\appp.js:7:22) at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:511:3)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

http.createServerのコールバックで受け取る順番が逆になっていますね。
第一引数がrequest, 第二がresponseが正しいです。

https://www.w3schools.com/nodejs/shownodejs.asp?filename=demo_http

投稿2018/08/16 01:56

shoya.shiraki

総合スコア430

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Abenosan

2018/08/16 01:58

神様ありがとうございます
guest

0

(response,request)=>{

リスナーの引数の順序が逆です。
requestの箇所にresponseが入っているので
実際にはrequest.writeHeadを実行しようとしてそんなメソッドありませんよエラーで死んでます。

ドキュメントを見て確認してみましょう。
http.createServer([options][, requestListener])

The requestListener is a function which is automatically added to the 'request' event.

requestListenerに関してはrequestイベントと同じ関数を設定してくださいとのことです。
ページ内リンクが張ってあるのでそちらへ移動してみます。

Event: 'request'

  • request <http.IncomingMessage>
  • response <http.ServerResponse>

requestイベントの中身を見ると、
request, responseの順番ですね。

投稿2018/08/16 02:01

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Abenosan

2018/08/16 02:06

ありがとうございます!!!Node.jsに関して色々ご質問したいのですが、contactを取れる環境などありますか?
guest

0

http.createServerのコールバック関数の引数で、 requestとresponseの順番が逆になっているのが原因かと思います。

(request,response)=>{

が正しいかとおもいます。

投稿2018/08/16 01:58

k0a

総合スコア28

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Abenosan

2018/08/16 02:06

解決しました!!ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問