2016-08-01 97 views
1

如何部署MEAN STACK + WEBPAC應用程序?在Azure上部署MEAN + Webpack

  • 我有一個MEAN堆棧+ WebPAC中的應用和服務器的NodeJS構建的WebPack應用之後 提供REST API
  • 我使用的WebPack開發服務器
  • 運行的角應用,我有build.js文件。

如何從nodejs應用程序引用構建文件?通常情況下,與requirejs,我會使用HTML腳本標記, 這樣

<script src="build.js" /> 

我明白這不是WebPAC中的方式,

+0

現在有什麼更新? –

+0

我不知道爲什麼人們低估這一點,因爲這不是常識。人們通常會認爲,你在package.json中提供的是足夠的,但事實證明,你實際上必須在服務器上編輯批處理文件。根本不是開發者友好的,所以對於這個問題+1。 –

回答

8

一般來說,我們可以利用Custom Deployment Script安裝的NodeJS模塊和運行在Azure部署任務期間創建自定義腳本,以在Azure Web Apps上構建您的webpack應用程序。

請嘗試以下操作:

  1. 通過azure-cli命令azure site deploymentscript --node --sitePath nodejs
  2. 運行NPM命令npm install --save webapck創建一個文件.deploymentdeploy.cmd安裝webpack到本地應用程序的目錄。
  3. package.json文件中定義一個定製的NPM腳本運行webpack命令,讓部署任務調用後: "scripts": { "webpack":"node_modules/.bin/webpack" },
  4. 修改deply.cmd文件,添加一個進程來運行,我們定義了故宮腳本。在原來的文件,你可以找到類似的腳本安裝Node.js的模塊: :: 3. Install npm packages IF EXIST "%DEPLOYMENT_TARGET%\package.json" ( pushd "%DEPLOYMENT_TARGET%" call :ExecuteCmd !NPM_CMD! install --production IF !ERRORLEVEL! NEQ 0 goto error popd )
    我們可以在它定義自定義腳本: :: 4. webpack IF EXIST "%DEPLOYMENT_TARGET%\webpack.config.js" ( pushd "%DEPLOYMENT_TARGET%" call :ExecuteCmd !NPM_CMD! run webpack IF !ERRORLEVEL! NEQ 0 goto error popd )
  5. 通過部署你的Git應用程序的WebPack天青到Web應用程序。

這是我在Github上的測試webpack app repository,FYI。

+0

您好,感謝您的回答,但是,還有一件事是我的應用程序有一個nodejs express後端。我如何在部署時運行它們?謝謝 –

+2

在Azure上部署快速部署不需要配置部署腳本。您可以將入口文件重命名爲'server.js'和'app.js',將監聽端口更改爲'process.env.port',並使用Gi​​t將其部署到Azure。有關更多信息,請參閱https://azure.microsoft.com/en-us/documentation/articles/app-service-web-nodejs-get-started/。 –

+0

我收到了一個錯誤,如「網站不是天藍色的命令」。爲了解決這個問題,首先輸入以下命令:'azure config mode asm'。之後,'azure site'命令被識別。 – schlingel