nodejsプロファイル静的リソースエラー

607 ワード

大きな穴を踏んで、nodejsに静的な資源を配置する時、最初はこの方法を使って、現地で開く時
app.use('/public',express.static('./public'))
そして、publicの下のファイルがなかなか取れないことを発見しました.インターネットでいろいろな方法を探してから、やっと問題を解決しました.解決コードは下記の通りです.
app.use('/public',express.static(path.join(__dirname, 'public')))
頭にパスファイルを導入してください.
原理
ここで話します.dirnameの違い、__dirnameは常にJSファイルを実行するフォルダの絶対パス位置を指します.dirnameは/codeを指しています.具体的な経路関係はこの文章を参考にしてもいいです.中の説明はNodeJsのいくつかのファイルパスを詳しく分析しています.
経験
サーバーでパスを呼び出す時は、すべての相対パスを採用したほうがいいです.requireの中の内容は絶対パスを使用する以外は、他のすべての相対パスでサーバー上で経路に関するエラーが少ないことを保証できます.