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

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

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

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Windows 11

Windows 11は、Windows 10の後継バージョン。それまでのMetroデザインを廃止し、Fluentデザインを導入しています。スタートメニューの構成やウィンドウのデザインの変更の他、Androidアプリをネイティブに実行できます。

Q&A

解決済

1回答

177閲覧

【htmlファイルがブラウザに表示されない】Cannot GET /loginと表示される

narururu

総合スコア172

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Windows 11

Windows 11は、Windows 10の後継バージョン。それまでのMetroデザインを廃止し、Fluentデザインを導入しています。スタートメニューの構成やウィンドウのデザインの変更の他、Androidアプリをネイティブに実行できます。

0グッド

0クリップ

投稿2024/03/02 03:31

編集2024/03/02 05:10

実現したいこと

作成したhtmlファイルをブラウザに表示させたいです。

〇環境
OS:Windows11
サーバー:ローカル
エディタ:VScode

〇現状
npm startは正常に実行できています。
curl http://localhost:3002も正常に実行できています。
ブラウザには「Cannot GET /login」のみが表示されています。

〇構成
コマンドを実行するファイル階層に下記ファイルを格納しています。
・login.html
・package-lock.json
・package.json
・server.js

発生している問題・分からないこと

解決策が分かりません。
何をどのようにすればhtmlファイルが表示されるようになるのか見当もつきません。

該当のソースコード

const express = require('express') const app = express() const port = 3002 app.get('/', (req, res) => { console.log(req.query); }) app.listen(port, () => { console.log(`Example app listening on port ${port}`) })

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

自分の環境とは違うため、解決には至りませんでした。

どなたか、アドバイスよろしくお願いいたします!

補足

特になし

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

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

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

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

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

narururu

2024/03/02 05:12

ご回答ありがとうございます。Eggpanさん☺ コードを記載しました。 ご確認よろしくお願い致します!
guest

回答1

0

ベストアンサー

コードを見ましたところ、 app.get('/', しか定義していませんので、その他のURLは全てCannot GET <url>となります。

単純にファイルを送信するのであればres.sendFileを使います。

javascript

1app.get('/login', (req, res) => { 2 res.sendFile(__dirname + '/login.html'); 3})

ですが、このやり方を使うことはほとんどありません。
なぜならサーバ側の変数を使う必要がある場合、結局ejsなどを利用する必要がでてくるからです。
もし、サーバ側の変数を利用しないのであればただのhtmlだけのサイトで良いかと思います。

Expressを使うのがはじめてであれば、最初はとほほのExpress入門などが読みやすいかと思います。
https://www.tohoho-web.com/ex/express.html#basic-usage

より詳しいものになると、Expressの公式ドキュメントのAPIリファレンスを読み込む必要があります。
https://expressjs.com/ja/api.html

投稿2024/03/03 09:39

Eggpan

総合スコア2729

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

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

narururu

2024/03/03 12:22

ご回答ありがとうございます!Eggpanさん☺ 教えていただいたコードで解消されました。 また、参考ページまでご提示いただき、感謝です! まだまだ不明点は多いので、別途質問することも多々あると思いますが、お手すきの際にご回答いただけますと助かります。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問