gpt4 book ai didi

node.js - 设置非 Node Web 角色的 Node 版本

转载 作者:太空宇宙 更新时间:2023-11-04 02:40:16 25 4
gpt4 key购买 nike

我编写了一个 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 的本地副本(我不喜欢这个,但它可以工作),但是我收到错误,因为正在使用的 Node 版本是 0.6.20 而 Grunt 需要大于 0.8

我已经在 package.json 中设置了引擎参数

"engines": {
"node": ">= 0.8.4"
},

但运气不好:(

我有一种感觉,引擎参数被忽略,因为没有找到 node 应用程序。这是正确的,因为我希望 azure 在不使用 Node http 服务器的情况下为我提供文件服务。

有没有办法定位另一个 Node 二进制文件或专门为我的网站设置 Node 版本,即使它没有像以前那样“使用” Node ?

非常感谢任何帮助

最佳答案

使用您将 grunt-cli 的本地副本推送到 Azure 网站的示例,我能够让 azure 在构建之后和部署之前运行 grunt。我正在使用 .net 进行构建后事件,但这并不重要,因为整个问题是 azure 是否会运行 grunt。我有

grunt version 0.4.1 

grunt-cli version 0.1.9 

使用我的应用程序进行部署并正在调用

npm install
my/path/to/grunt-cli/grunt

根据http://www.windowsazure.com/en-us/develop/nodejs/common-tasks/specifying-a-node-version/当前安装的 Node 默认版本是0.6.20,但这种方法对我来说仍然有效。

关于node.js - 设置非 Node Web 角色的 Node 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17131806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com