[解決済み] res.sendFile 絶対パス
質問
を実行すると
res.sendfile('public/index1.html');
というサーバーコンソールの警告が表示されます。
express deprecated
res.sendfile
: 使用方法res.sendFile
代わりに
が、クライアント側では正常に動作しています。
しかし、これを
res.sendFile('public/index1.html');
エラーが発生する
TypeError: パスは絶対パスでなければならないか、ルートを指定して
res.sendFile
そして
index1.html
はレンダリングされません。
絶対パスが何なのかが把握できません。私は
public
と同じ階層にある
server.js
. をやっています。
res.sendFile
から
server.js
. また、私は
app.use(express.static(path.join(__dirname, 'public')));
私のディレクトリ構造を追加する。
/Users/sj/test/
....app/
........models/
....public/
........index1.html
ここで指定する絶対的なパスは何ですか?
Express 4.xを使用しています。
解決方法を教えてください。
その
express.static
とは別のミドルウェアです。
res.sendFile
への絶対パスで初期化します。
public
ディレクトリには何もしません。
res.sendFile
. で直接絶対パスを使用する必要があります。
res.sendFile
. そのための簡単な方法は2つあります。
-
res.sendFile(path.join(__dirname, '../public', 'index1.html'));
-
res.sendFile('index1.html', { root: path.join(__dirname, '../public') });
注
__dirname
は、現在実行中のスクリプトがあるディレクトリを返します。あなたの場合、次のようになります。
server.js
は
app/
. ということは
public
ということで、まず一階層分戻る必要があります。
../public/index1.html
.
注
path
は組み込みモジュール
である必要があります。
require
上記のコードを動作させるためには
var path = require('path');
関連
-
[解決済み】mongoError: トポロジーが破壊されました
-
[解決済み】AWS Lambdaでnodejsの「ref」モジュールを使用すると「invalid ELF header」と表示される件
-
[解決済み】モジュール 'internal/util/types' が見つかりません。
-
[解決済み] Node.jsで「btoaが定義されていない」エラーが発生する
-
[解決済み] Heroku "状態が起動から停止に変更されました SIGTERMで全プロセスを停止"
-
[解決済み] nodejs - http.requestでresponse.writeを使用する場合、第一引数は文字列またはBufferでなければなりません。
-
[解決済み] エラーメッセージ MongoError: bad auth URI 文字列で認証に失敗しました。
-
[解決済み] MongoNetworkError: 最初の接続でサーバー [localhost:27017] への接続に失敗 [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017] 。
-
[解決済み] Pythonでパスから拡張子なしでファイル名を取得する方法は?
-
[解決済み] Pythonでファイルの絶対パスを取得する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Discord.js が特定のチャンネルにメッセージを送信する場合
-
[解決済み】エラーです。EACCES: 権限が拒否されました、アクセス '/usr/local/lib/node_modules' 。
-
webpack ENOENTソリューションの起動
-
[解決済み】E11000重複キーエラー mongodb mongooseのインデックス
-
[解決済み】POSTできない/expressを使用するとエラーが発生する
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] create-react-app、インストールエラー("コマンドが見つからない")。
-
[解決済み] joiライブラリを使用して2つの時間を比較する方法
-
[解決済み] nodejs - http.requestでresponse.writeを使用する場合、第一引数は文字列またはBufferでなければなりません。
-
[解決済み] Express res.sendfile で forbidden エラーが発生する。