0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

node.jsのローカルサーバーでクライアントサイドjavascriptが動かない

Posted at

はじめに

  • 素人がタイトルの問題で詰まったので解決方法を残しておきます
  • 解決方法の一つは@Suibari_chaさんの記事を大いに参考にさせてもらいましたが(ほぼそのままです)、「javascriptが動かない」でググると見つけづらかったので一応記載させていただきました

解決方法1

下記記事のSuibari_chaさんのcssを読み込む方法:Node.jsでhttpサーバを立てた際にCSSが読み取れない場合の対処法について

と同様に、javascriptのMIMEタイプを指定します。
サーバー起動時に「.jsはJavaScriptとして扱う」
というのを教えてあげないといけないということみたいです。
(node.jsなんだからそれくらいデフォルトで分かってくれよと思いますけども)

解決方法2

expressを使います

まず、expressをインストール

npm install express

下記のサーバー起動のスクリプトを書いて起動します。

index.js
// node index.js で起動
var express = require('express');
var app = express();

app.use(express.static(__dirname)); // ここに入っているjsやcssを使う

app.get('/', function (req, res) {
  //res.send('Hello World!');
  res.sendFile(__dirname + '/index.html');
});

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});
//http://localhost:3000にアクセスして確認

こちらではいちいちMIMEタイプを指定しなくて良いみたいです。
ポイントはここです。

app.use(express.static(__dirname)); // ここに入っているjsやcssを使う

終わり

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?