2017-01-30 7 views
0

単純なアプリケーションでNodejを学び始めています。 Google Chromeは、私はパスが正しく enter image description hereGoogle Chromeでapp.jsファイルを見つけることができないのです

アップを設定していると信じて、あなたが見ることができるように私/assets/js.appで、その後

Here is the console errors

そして、私のapp.jsファイルを見つけることができないよう

{{vm.message}}の代わりに、Hello Worldと言うべきです。

クロームはそれがexpress.staticを使用している場合、この

<html ng-app="TestApp"> 
<title>The MEAN Stack</title> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js"></script> 
</head> 
<body ng-controller="MainController as vm"> 
    {{ vm.message }} 
    <script src="/assets/js/app.js"></script> 
</body> 
</html> 
+0

あなたの '/ public'ディレクトリで'/public'ディレクトリに '/ assets'を'/assets'に設定すると、index.ejs

+0

'ディレクトリのように、スクリプトのあなたのURLはおそらく'/assets/assets/js/app.js'である必要があります。 –

答えて

2

のように見えるindex.ejsテンプレートファイル内app.jsファイルを、見つけることができない私に言って続けて、オプションのルートプレフィックスは、実際の一部ではありませんファイルのパスではなく、URLに追加されます。 /assets/assets/js/app.jsを使用できますが、接頭辞:app.use(express.static(__dirname + "/public"))を削除するほうが良い場合があります。

assetsは画像のように予約する必要があり、js、さらにはcssもそれ自身の上位レベルのディレクトリに属していますが、これは議論の余地があります。

静的コンテンツの配信expressは、開発アプリケーションやおもちゃアプリでは問題ありませんが、実際のプロダクションアプリケーションでは、node.jsよりも静的なファイルサーバーの方が優れています。

+0

クイックアンサーと解説に感謝します...私の学習の旅に役立ちます。 – user3125823

関連する問題