私はnode.jsを初めて使っていますが、私は個人的なサイトに実装して学習を始めようとしています。私は、ノードサーバーを実行しているが、私はexpress.jsを使用してルーティングを設定しようとしています。私のすべてのファイルは、典型的な静的ファイル.html、.js、.cs、.pngなどです。現在、ルートはgooの 'home'ページにインデックスページを表示します。別のディクトリのインデックスに移動しようとすると、404エラーページが表示されます。 - ビュー(フォルダ) -index.html(ビュー内のファイル) --Projects(ビュー内のフォルダ) -index私の 'portfolio'サイトでexpress.jsでNode.jsを設定する
Server.js package.json node_modules :私のファイル構造は、このようなものです。 HTML(プロジェクト内のファイル)
私Server.jsは
var express = require("express");
var app = express();
var router = express.Router();
var path = __dirname + '/views/';
router.use(function (req, res, next) {
console.log("/" + req.method);
next();
});
router.get("/", function (req, res) {
res.sendFile(path + "index.html");
});
router.get("/Projects", function (req, res) {
res.sendFile(path + "Projects/index.html");
});
app.use("/", router);
/*app.use("*", function (req, res) {
res.sendFile(path + "404.html");
});*/
app.listen(3000, function() {
console.log("Live at Port 3000");
});
のように、私はさまざまなリソースで〜過去のために18時間を見てきたと私はちょうど私は確信している何かが欠けているに見えます。問題の私の現在のアイデアは、HTMLのナビゲーションリンクですが、私は進歩なしでそれらを変更しようとしました。
あなたは本当にただ静的ファイルにアクセスするためのルートを設定する必要はありません - あなたが設定する必要があります静的ディレクトリとして使用するパス - http://expressjs.com/en/api.htmlの先頭にある – jackarms
こんにちはJackarms、私は当初このメソッドを使用しました。 'app.use(express.static(path.join(__ dirname、 'public')));'を使うだけで、index.htmlページを定義する必要はありませんか?私はまた、 'app.use(express.static(path.join(__ dirname、 'public')、['index.html']));)を使ってオプションでそれを試みました。最初はロードされていますが、明らかにすべてのcss/jsが不足しています。ページをリフレッシュすると、「エラー:要求されたURLを取得できませんでした」 – ovp