Node.js 为非节点web角色设置节点版本
我已经编写了一个SPA,它使用Grunt任务将自己从源代码构建到dist目录中 我想在azure上托管它,将所有内容保存在一个PaaS中 如果我将预构建的dist文件夹发送到azure并添加一个.deploments任务以将其移动到部署目标文件夹中,则一切正常。但是,我只想将源代码保留在GitHub中,并在部署时使用现有的Grunt任务构建应用程序 我使用以下命令添加了一个.deployment文件Node.js 为非节点web角色设置节点版本,node.js,azure,deployment,gruntjs,Node.js,Azure,Deployment,Gruntjs,我已经编写了一个SPA,它使用Grunt任务将自己从源代码构建到dist目录中 我想在azure上托管它,将所有内容保存在一个PaaS中 如果我将预构建的dist文件夹发送到azure并添加一个.deploments任务以将其移动到部署目标文件夹中,则一切正常。但是,我只想将源代码保留在GitHub中,并在部署时使用现有的Grunt任务构建应用程序 我使用以下命令添加了一个.deployment文件 [config] command = npm install 成功触发我的npm安装,然后触发
[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"
},
但是没有运气:
我感觉引擎参数被忽略了,因为找不到节点应用程序。这是正确的,因为我希望azure在不使用节点http服务器的情况下为我提供文件
是否有一种方法可以针对另一个节点二进制文件或专门为我的网站设置节点版本,即使它没有像以前那样使用节点
非常感谢您的任何帮助使用您将grunt cli的本地副本推送到Azure网站的示例,我能够让Azure在构建之后和部署之前运行grunt。我正在使用.net进行后期构建活动,但这并不重要,因为整个问题在于azure是否会运行grunt。我有
grunt version 0.4.1
及
使用我的应用程序部署,我正在呼叫
npm install
my/path/to/grunt-cli/grunt
根据当前安装的节点默认版本为0.6.20,但这种方法对我仍然有效。您使用的是Web角色,即云服务还是Azure网站,即Azure网站?@astaykov im使用的是Azure网站。我尝试了很多选择,但我得出的结论是,我需要制作我自己的构建服务器,据说这似乎是主要的过度使用,因为你的启动和运行。我应该在这里回信的。问题是grunt的更高版本要求节点>0.8。我们最终用构建服务器解决了问题。我对这个解决方案不是特别满意,感觉有点过头了,但它确实有效。你说的“晚一点”是指更老一点吗?我使用的是grunt 0.4.1的最新稳定版本,我有一个azure网站。很高兴你找到了一个解决方案,只是想指出它正在工作,所以它可能会为你节省一些时间$$
npm install
my/path/to/grunt-cli/grunt