2015-08-30 47 views
2

如何打開控制檯與我的Express應用程序進行交互?如何打開控制檯與Express應用程序進行交互?

我想測試一些方法是否可以創建模型。我正在使用SequelizeJS,但這對於這個問題的答案無關緊要。

我習慣了Rails,我可以做$ heroku run rails console然後與我的應用程序中的模型進行交互。我想在Express中做同樣的事情。

回答

4
  • 讓您的應用導出Express實例(module.exports = app
  • 運行node,這將讓你在REPL循環
  • 需要您的項目:var myApp = require('./app')
+0

是一個直接的答案是問什麼OP,但它不是真正的*問題的標準解決方案* OP是有。正如beautifulcoder指出的那樣設置測試是正確的解決方案。 –

+1

@ WillemD'Haeseleer - OP詢問如何與快速應用程序交互。測試很棒,如果你知道你在做什麼。如果你正在研究它,你需要一個REPL循環來檢查元素。我認爲OP的問題是要求後者。一旦你弄清楚了,你就寫測試:) –

+0

使用REPL有它自己的一套複雜性,它並不總是將1對1映射到實際的目標環境。 (想想_操作符),直接在REPL中輸入命令需要你基本上從不犯錯誤,如果你寫了多於1行的代碼,並且如果關閉會話,你將失去所有的呼叫和狀態。介紹存根或其他測試相關概念時,不必介意增加的複雜性。 除非OP是一個機器人,否則通過推薦REPL作爲測試您的應用程序的好方法,讓他在痛苦的路徑上設置他。 –

-1

你可以使用browserify傳遞您的後端方法和功能到Web應用程序/客戶端瀏覽器中。它將像在Node.js中使用代碼一樣運行。

因此,因爲您需要將節點模塊放入後端節點應用程序中,所以您可以在您的前端Web應用程序中瀏覽節點模塊。

有關詳細信息,請參見鏈接在這裏:(http://browserify.org/

/*In node, you use module like this*/ 
var thingToCall = require('/moduleInNode'); 
/*Whereas you would do similarly using browserify*/ 

對於更詳細的解釋怎麼做,所以我會參考這個網頁(https://blog.codecentric.de/en/2014/02/cross-platform-javascript/)和 讀標題爲「一節開始CommonJS模塊入門手冊「。

+1

這個答案沒有解決任何OP正在談論的問題...... –

0

如果你想從你的應用程序測試你的個人方法,最好的事情就是建立一個由beautifulcoder提到的測試框架。
這真的是在應用程序中運行邏輯分離部分的最簡單和最穩健的方式。
你不必立即開始寫測試,但這將是一個很好的邏輯下一步。
這是一個很大的方便,然後使用REPL如果要多次運行某些方法,引進存根等..

我可以推薦使用測試摩卡/興農/柴/ supertest設置中,所有艱難你應該知道有更多的測試框架,因此可能需要一些研究。最終都是主觀的。

相關問題