現在、角度2のアプリケーションを開発中です。しかし、なぜ私のルーティングがng serve
で動作し、nodemon
では動作しないのか分かりにくいですか?私は、私が研究しているものに基づいて複数の方法を試しました。角度2ルーティングは、サービングでのみ動作し、ノーデモンでは動作しません
app-routing.module.ts
でuseHash: true
を追加する方法1
しかし、(おそらく私の理解不足に起因する)これは、すべてのURLが#
がそれに表示される持たせるでしょう。そして、私はこれが正しいデバッグのためのものだと思っていますか?エラーがスローされるたびに
const routes = [
{ path: '', component: sampleComponent1 },
{ path: 'page2', component: sampleComponent2 }
];
@NgModule({
imports: [RouterModule.forRoot(routes, {useHash: true})],
exports: [RouterModule]
})
方法2
変更app.js
index
をレンダリングします。このメソッドはURLに#
を持っていませんが、私のコンソールには常にGET /page2 404 1.688 ms - 987
のようなエラーが返されます。 URLはそれで#
が表示されないよう
app.use(function (err, req, res, next) {
// set locals, only providing error in development
console.log(err.message);
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
res.status(err.status || 500);
res.render('error');
});
は、だから今のように、私は方法2にもっとこだわっんだけど、方法2は、それを行うための正しい方法がある場合、私はよく分かりません。誰かが私にこれを助けることができますか?
'useHash'はデバッグ用ではありません。これはデザインの選択肢です。 – HaveSpacesuit
nodemonでdistフォルダをビルドして提供しようとしましたか? – Janpan
@Janpanはい、私はいつもこれは私が右の方法2で行ったのと同様に聞こえる – JustStarted