2014-07-07 81 views
0

我有一個server.js文件,它運行我的服務器並顯示html文件。在客戶端JavaScript文件中,我想向一個單獨的服務器端js文件發出ajax請求,該文件從API中提取數據。這可能嗎?或者在節點環境中工作時有更好的解決方案。我可以運行多個node.js文件

+0

您是否想要擁有兩個獨立的API?爲什麼不通過第一個腳本暴露第二個API? –

回答

1

您可以在同一臺服務器上運行多個node.js文件。用node my_file.js發起每一個。


是的,有一個更好的選擇來達到預期的效果,而不是啓動多個服務器。我甚至會勸阻你啓動第二臺服務器,除非你有意讓它成爲完全獨立的實體。

解決方案被稱爲路由選擇,比如你想提供兩個功能使用的是Node.js:

  1. http://my-app.com/
  2. http://my-app.com/api/users

據我瞭解,你知道如何實現它們,現在你只需要一個路由器來統一它們。

many routers available,有很好的例子和文檔。

讓我們考慮您選擇快遞,然後按照this guide你的主(起點)JS文件將有簡單的說明,告知什麼JS文件提供您的網站的哪一部分:

app.get('/', mySite.index); 
app.all('/api/*', myApi.index); 

注意:是是不完整的代碼,請參閱ExpressJS documentation或您決定使用的其他路由器。 ExpressJS是一個豐富的框架,如果你只需要路由器,你可能想要找到更簡單的東西。

+0

嘿,謝謝,我使用快遞,我只是從PHP的apache服務器的角度思考。這是一個很好的解決方案,雖然 – wazzaday

+0

@wazzaday是的Apache PHP組合是略有不同。 Apache在那裏擔任路由器角色,以及PHP解釋器。使用Node.js,你有命令'node'作爲解釋器,並且必須擔心* router *自己的作用:)儘管如此,回到計算機的起源 - 更多的控制權 - 更多的可能性。 – alandarev

相關問題