0

node.js Express で design.io を使用して css/javascript をブラウザーにホットプッシュしようとして、サンプルhttps://github.com/viatropos/design.io-exampleを複製しました が、ホットデプロイできませんでした後

  1. https://github.com/viatropos/design.io-example/README.mdの指示に従ってください

    shell-1-project-dir> design.io --watch ./src

    エラー: 不明なオプション `--watch'

  2. https://github.com/viatropos/design.io/README.mdの指示に従う

    shell-1-project-dir> design.io 開始

    shell-2-project-dir> design.io ウォッチ

    [2012 年 5 月 6 日 03:52:04 GMT] INFO を更新しました views/.index.jade.swp

    [2012 年 5 月 6 日 03:52:04 GMT] INFO を更新しました views/index.jade

    [2012 年 5 月 6 日 04:03:11 GMT] INFO を更新しました views/.index.jade.swp

    [2012 年 5 月 6 日 04:03:11 GMT] INFO を更新しました views/index.jade

    これを行うと、node.js が起動されていないため、 http://localhost:4181/にアクセスできません。代わりに node.js を起動する必要があります。

    shell-1-project-dir> ノード server.js

    ただし、これは変更された index.jade ファイルをホットプッシュしません。

例は時代遅れのようですか?

ホットデプロイの方法を教えてください。

環境:

 OSX-LION
 node 0.6.15
4

1 に答える 1

0

まず、ノード サーバーを別のターミナル ウィンドウで実行できます (design.io サーバーまたはノード サーバーのいずれかを実行する必要はありません。異なるポート上にある限り、両方を同時に実行できます)。 .

第二に、これはあなたが望んでいることではないと思います。Design.io は、スタイルシートや JavaScript ファイルなどの静的クライアント ファイルに加えられた変更を注入するためのもののようです。.css ファイルを変更すると、design.io がその変更を認識してブラウザーにブロードキャストします。ブラウザーの design.io は強制的にスタイルシートをリロードし、変更のホット プッシュを完了します。

Jade ファイルは別の話です。ブラウザに送信する前にインタプリタで処理する必要があります (ブラウザは jade ファイルを理解できません)。Design.io は変更を認識しますが、Node.js は新しいファイルを処理し、更新された応答をブラウザーに送信する必要があるため、何もできません。これを行う唯一の方法は、実際にはホット スワップではないブラウザ ページを更新する (それによって新しい要求を送信する) 場合です。

于 2012-05-06T05:24:52.017 に答える