【问题标题】:Deploy MEAN+Webpack on Azure在 Azure 上部署 MEAN+Webpack
【发布时间】:2016-12-06 12:12:20
【问题描述】:

如何部署 MEAN STACK+WEBPAC 应用程序?

  • 我有一个 MEAN Stack + Webpac 应用程序和 nodejs 服务器 提供其余的api
  • 我使用 webpack 开发服务器运行 Angular 应用程序
  • 构建 webpack 应用程序后,我有了 build.js 文件。

如何从 nodejs 应用程序引用构建文件?通常,使用requirejs,我会使用html脚本标签, 这边

<script src="build.js" /> 

我知道这不是 webpac 的方式,

【问题讨论】:

  • 现在有更新吗?
  • 我不知道为什么人们不赞成这一点,因为这不是常识。人们通常会认为,您在 package.json 中提供的内容就足够了,但事实证明,您实际上必须在服务器上编辑批处理文件。对开发者完全不友好,所以 +1 的问题。

标签: node.js azure webpack mean


【解决方案1】:

一般来说,我们可以利用 Custom Deployment Script 在 Azure 部署任务期间安装 nodejs 模块并运行自定义脚本,以在 Azure Web 应用程序上构建您的 webpack 应用程序。

请尝试以下步骤:

  1. 通过azure-cli命令azure site deploymentscript --node --sitePath nodejs创建文件.deploymentdeploy.cmd
  2. 运行 npm 命令npm install --save webapckwebpack 安装到本地应用程序的目录中。
  3. package.json文件中定义一个自定义npm脚本来运行webpack命令并让部署任务稍后调用: "scripts": { "webpack":"node_modules/.bin/webpack" },
  4. 修改deply.cmd文件,添加一个进程来运行我们定义的npm脚本。在原始文件中,您可以找到类似的脚本来安装 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 应用程序部署到 Azure Web App。

这是我在 Github 上的测试 webpack app repository,仅供参考。

【讨论】:

  • 嗨,加里,感谢您的回答,但是,还有一件事是我的应用程序有一个 nodejs express 后端。部署时如何运行它们?谢谢
  • 在 Azure 上部署 express 不需要配置部署脚本。可以将入口文件重命名为server.jsapp.js,将监听端口改为process.env.port,使用Git正常部署到Azure。您可以参考azure.microsoft.com/en-us/documentation/articles/…了解更多信息。
  • 我收到类似“站点不是 azure 命令”的错误。要克服这个问题,首先输入以下命令:azure config mode asm。之后,azure site 命令被识别。
  • 出于某种原因,即使安装了 webpack,也没有可用的“node_modules/.bin/webpack”,所以构建对我来说失败了。有什么想法吗?
  • 我的 webpack 将我的后端包解压到 dist 文件夹,我需要从那里运行 node。知道如何实现吗?
猜你喜欢
  • 2017-04-01
  • 1970-01-01
  • 2018-07-06
  • 1970-01-01
  • 2018-09-09
  • 2016-11-28
  • 2017-06-04
  • 2018-12-21
  • 2017-11-30
相关资源
最近更新 更多