2016-07-24 19 views
0

私は最初のノードアプリケーションを作成しようとしていますが、javascriptファイルに問題がありますが、私のCSSでは問題があります。ここに私のapp.jsです:ノードの静的なjsファイルがリフレッシュされていません

var express = require("express"); 
var app = express(); 
app.set("view engine", "ejs"); 
app.use(express.static(__dirname + '/public')); 

私は私のjsファイルからだった「接続」クロームコンソール、で見たライン4を、追加するまで、私は私のjsファイルを読み込むことができませんでした。私が抱えている問題は、4行目を追加して以来、express.staticのjsファイルは変更されておらず、ファイルに追加したものはすべてchromeリソースタブに表示されないということです。奇妙なことに、私のCSSファイルは正しく動作しているので、少し不便です。私は次のようにJSファイルにリンクしようとしています

:そのが正しく、私は、サーバーを再起動しようと、どちらかの仕事をしていないインストールnodemonので、持って働いていない理由

<script src="javascripts/main.js"></script> 

は、私は本当にわかりません。私のフォルダ構造は、私は問題を見ているだけの人が静的なファイルに接続していない発見した、一度接続されていない、彼らは確実にするために、絶対パスを使用してみてください任意の保存された変更に

+0

あなたは <スクリプトSRC = "./ JavaScriptの/ main.js">としてみてくださいことはできますか? – Alburkerk

答えて

2

ブラウザでキャッシュを無効にする必要があります。ブラウザはサーバーからリフレッシュするためにファイルが古いものではないと思いますので、キャッシュされたファイルを使用します。
Chromeの場合 - F12(他のブラウザの作品でも)を開いて確認してください。

enter image description here

+0

こんにちはAikon、私はネットワークのタブをチェックし、それはすでにチェックされていない – jSutcliffe90

+0

あなたはそれをチェックする必要があります。ブラウザへのローカルキャッシュの使用が拒否されました。 –

+0

残念ながらまだ動作していません – jSutcliffe90

0

を示していない

app.js 
public 
    stylesheets 
     main.css 
    javascripts 
     main.js 

です静的資産が適切にロードされます。相対パス(例:javascripts/main.js)を使用すると、ブラウザが絶対パスに変換する方法(ネストされたルートを含めて完全なURLを考慮に入れる)のために問題になる可能性があります。

たとえば、/foo/barのルートを設定していて、相対パスを使用している場合、ブラウザで/foo/barにアクセスすると、ブラウザは/foo/bar/javascripts/main.jsにアクセスしようとします。

+0

助けてくれてありがとう、私は 'src =" ./ javascripts/main.js "'と 'src ="/javascripts/main.js "'を試しましたが、私はまだ "connected" jsファイル – jSutcliffe90

0

あなたが直面している問題は、すでにWebPACKのようなライブラリで答えています。それはホットリロードします。 Webアプリケーションの変更が何であっても、クライアントにロードされ、ファイルを修正してサーバーを再起動することなく変更を更新します。ブラウザで更新されたスクリプトを実行します。

+0

こんにちはNishanth、nodemonをインストールしましたが、サーバーの自動アップデートが行われていますが、main.jsファイルのresが正しく読み込まれません。 – jSutcliffe90

+0

クライアントファイルを更新する必要があります。 webpackやhr4Rのようなホットリロードライブラリを見てください。これらのライブラリが変更されると、ブラウザのコンソールに変更ログが表示されます。 –

+0

これを行うにはnodemonを使用していますが、それは自分のHTMLファイルとCSSをリフレッシュします。ちょうど私のjsファイルではありません – jSutcliffe90

関連する問題