2017-06-15 94 views
0

我的技術堆棧是Angular 2,Scala和mongoDB。到目前爲止,我已經使用IntelliJ(Community Edition)和Play for scala/mongodb作爲後端。我如何使用IntelliJ在Angular 2中編寫前端代碼並播放?或者我應該遷移到其他IDE嗎?這是一個個人項目,我不想購買商業IDE。適用於Angular2,Play和Scala的IDE

添加了這個來解釋我的問題。

在播放/斯卡拉/的IntelliJ,接收請求和發送響應,我像這樣的代碼

def index = Action { 
    Ok(views.html.index("Welcome to SalesWorkspace")(loginForm)) 

    } 

路由文件會像如下

GET /       controllers.Application.index 

中的index.html頁面在Play/IntelliJ中定義,是IntelliJ項目的一部分。它會是這個樣子

<html lang="en" xmlns:font-variant="http://www.w3.org/1999/xhtml" xmlns:background-color="http://www.w3.org/1999/xhtml"> 
<head> 
    <link rel="stylesheet" type="text/css" href="@routes.Assets.at("stylesheets/bootstrap.min.css")"> 
</head> 
<body> 
. 
. <!-- regular html stuff--> 
. 
</body> 
</html> 

要運行上面的代碼,我會簡單地開始播放服務器(播放調試運行),並從IntellJ執行運行。在後臺,IntelliJ和Play都會在一起,並在訪問localhost:9000時提交索引頁面。

我用類似的方式在Angular中編程,而不使用IntelliJ。我用崇高的代碼,使用angular.io網站上的quickstart軟件包,並運行npm start。我猜測npm開始了自己的服務器,併爲我提供所有路由等。

現在我想將我在Angular中編寫的前端代碼(並使用npm start進行測試)與我在Play/IntelliJ中編寫的後端代碼進行整合。我沒有IntelliJ的商業版本。如何在Angular中編寫index.html,並使其與Play/IntelliJ啓動的服務器通信。

+0

你不會在社區版中有intellij的javascript插件,你可以使用崇高,原子,括號等等。對於dev – jos

+0

我已經對獨立的Angular開發(沒有後端)使用過崇高。這工作得很好。我的問題是如何使角碼與'Play/Scala'代碼交談。沒有Angular(只是html),我只需在IntelliJ IDE中啓動服務器,服務器,路由等將被照顧。如果我整合了Angular,我想我需要將Typescript代碼轉譯成JS等等(我不明白其中許多這些部分) –

+0

您可以在intellij中運行或開發您的scala代碼,並將angular app連接到服務器,您可以在節點服務器中運行角度,或者如果使用任務運行器(grunt),您可以運行角度應用程序(grunt服務器) – jos

回答

0

您可以使用Visual Studio Code來開發Angular應用程序。爲了觀看,編輯和提供服務,您可以使用Angular CLI這使您的生活更輕鬆。

對於Scala,我只是繼續使用IntelliJ,保持它與前端代碼分離。

+0

如何使Angular UI(使用Visual或Sublime製作)與scala代碼(使用IntelliJ編寫)交談?要運行我的應用程序,我需要一個Web服務器。我可以使用在localhost:9000上運行的IntelliJ中提供的一個。該服務器將需要用戶界面(angular html)向瀏覽器提供新頁面(索引等)。但是Angular文件不是IntelliJ項目的一部分。 –

+0

我已經提出了詳細的問題。我希望這將有助於解釋我的問題。 –

+0

您可以單獨運行您的服務器和客戶端。您可以像以前那樣使用intellij運行服務器,然後使用AngularCLI'ng serve'命令運行客戶端。 – ShinDarth