【发布时间】:2013-06-16 09:24:19
【问题描述】:
我编写了一个 SPA,它使用 Grunt 任务将自己从源代码构建到 dist 目录中。
我想在 azure 上托管它,以便将所有内容保存在一个 PaaS 中。
如果我将预建的 dist 文件夹发送到 azure 并添加一个 .deploments 任务将其移动到 DEPLOYMENT_TARGET 文件夹中,一切正常。但是,我只想将源代码保留在 GitHub 中,并在部署时使用现有的 Grunt 任务构建应用程序。
我使用以下命令添加了一个 .deployment 文件
[config]
command = npm install
这成功触发了我的 npm 安装,然后是安装后脚本
"scripts": {
"postinstall": "node node_modules/grunt-cli/bin/grunt build"
},
这将使用 grunt-cli 的本地副本(我不喜欢这个,但它可以工作),但是我收到一个错误,因为正在使用的节点版本是 0.6.20 并且 Grunt 需要大于 0.8
我已经在 package.json 中设置了我的引擎参数
"engines": {
"node": ">= 0.8.4"
},
但没有运气:(
我感觉引擎参数被忽略了,因为没有找到node 应用程序。这是正确的,因为我希望 azure 在不使用节点 http 服务器的情况下为我提供文件。
有没有办法针对另一个 Node 二进制文件或专门为我的网站设置节点版本,即使它没有“使用”节点?
非常感谢任何帮助
【问题讨论】:
-
您使用的是
Web Role(即云服务)还是Azure Web Site(即Azure网站)? -
@astaykov 我正在使用 Azure 网站。我尝试过很多选择,但我得出的结论是,我需要制作自己的“构建服务器”,据说这似乎是一种过度杀伤
标签: node.js azure deployment gruntjs