3

airbnb の rendr のようなもの、つまりclient と server 間でバックボーン コードを共有する独自の実装を使用して、クライアントで使用しているのと同じバックボーン モデル、ビュー、コレクション、およびテンプレートを使用してサーバー上に完全な HTML を構築しています。私のファイル/モジュールはrequirejsモジュールとして定義されているため、クライアントで簡単に共有できます。開発モードでは、(サーバーを再起動せずに) ブラウザーを更新するときに、requirejs がディスクからモジュールを再フェッチ/再ロードするようにしたいので、サーバー レンダリングで最新のテンプレートと JavaScript を使用して、最終的に最新の HTML を提供します。

nodejs を使用してサーバーで requirejs を使用する場合、次のようにバストパラメータを urlArgsに追加するトリックは機能しません。つまり、サーバーはディスクからモジュールをリロード/再フェッチしません。

urlArgs: "bust=v2" 

ノードでサーバーを再起動せずにディスクスペースからrequirejsモジュールをリロード/再フェッチできるのだろうか?具体的には、テンプレートの require-text プラグインに非常に役立ちます。さらに、リロードを限定されたモジュールのセットにのみ適用するとよいでしょう。

4

2 に答える 2

2

これを行う必要はありませんでしたが、クイック検索では、サーバーの再起動の自動化など、いくつかのオプションが表示されます。

これと同様のクリエイティブなこともできるかもしれません:

  • delete require.cache['/home/shimin/test2.js']

RequireJS がキャッシュに保持しているバージョンをほぼ確実にクリアして、強制的にリロードすることができますが、ノードが古いファイルを再び提供するだけではないかと思います。

最後に、hot-reloadingを見てみましょう。これは、サーバーを再起動しなくてもキャッシュを回避できるようです ()。

于 2013-04-04T09:49:36.907 に答える