2014-02-08 34 views
2

我開始使用Node.js和Webstorm 7.0.3。我用express創建了一個簡單的Node.js應用程序,我在本地運行它。 我想編輯並保存.js文件,刷新瀏覽器並查看的更改。據我瞭解,這應該是非常現成的。在Webstorm 7.0.3中調試時熱插拔Node.js文件

這裏是沒有問題:

  • 我開始Node.js的服務器
  • 我瀏覽到Chrome瀏覽器
  • 頁面呈現正確的快運路徑。

這裏是行不通:

  • 我更改了JavaScript函數呈現頁
  • 我的文件
  • 我刷新
  • 該網頁不瀏覽器保存不反映對JavaScript功能的更改

以下是說明我從JetBrains的幫助網站如下:

  • 創建一個名爲Node.js的運行/調試配置「app.js」
    • 檢查和「使用JavaScript調試器」,「發射後」選項
  • 創建一個名爲「app.js.JavaScript」的JavaScript調試配置
  • 爲「app.js」配置選擇「調試」。
  • Node.js的服務器爲「app.js.JavaScript開始
  • 選擇 「調試」。
  • 我現在可以在應用程序命中斷點。

但是,如果我改變了JS呈現頁的功能,保存文件,並刷新瀏覽器時,更改不會出現

配置:

  • WebStorm 7.0.3
  • 鉻W/JetBrains的插件2.0
  • 的Windows 8
  • Node.js的
    • 表達3.4.8
    • HJS

回答

0

當你說你「改變呈現頁面的JavaScript函數「,我假設函數是服務器上的路由函數。例如。:

exports.form = function (req, res) { 
    res.render('login', { title: 'Login', message: req.flash('error') }); 
}; 

刷新瀏覽器時,不會自動獲取對服務器端代碼的更改。您通常必須重新啓動服務器才能使這些更改生效。

然而,看看nodemon。 Nodemon監視文件系統的變化,並在檢測到某些變化時自動重啓服務器。對開發非常有用。

而且,看看這篇文章,看看如何nodemon與WebStorm集成:

How can I run nodemon from within WebStorm?

+0

不錯。我從node.js命令提示符添加了nodemon。然後編輯「app.js」配置。我將節點解釋器更改爲「C:\ Users \ ahoffer \ AppData \ Roaming \ npm \ nodemon.cmd」。當我切換到路由功能時,服務器會自動啓動。 – ahoffer

0

有一個模塊稱爲熱插拔(https://github.com/rlidwka/node-hotswap)也看起來很有希望 - 本質上,您訪問模塊方法通過熱插拔模塊,它檢查幕後的變化。您可以通過熱交換對象訪問模塊的方法,如果發生更改,則會反映出來,而不必重新啓動服務器。我可以想象存在內存問題(節點在加載時緩存所需的模塊,我不確定它是如何清理它們的)以及可能的性能問題。非常適合開發,不確定你會在生產中需要它。