Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – Grunt无法在Azure网站上运行大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用Azure的Git部署来构建和打包我的项目.

我创建了以下文件

> .deployment
> deploy.cmd
> Gruntfile.js
> package.json

我的.deployment文件调用deploy.cmd. deploy.cmd通过设置路径来设置环境,以包括Node.js和npm的签入副本.我可以调用npm install就好了.当我调用grunt时,似乎执行第一个标准输出消息,然后它返回并设置错误返回代码.我没有得到任何其他消息.其他命令似乎运行得很好.

我试过把STDERR弄出来,没有运气.我尝试在远程执行控制台下运行,没有运气.我的Gruntfile.js在本地运行就好了.

我错过了一些神奇的酱汁吗?

解决方法

这有点旧,但无论如何我都会回答,以防有人遇到这个问题.

首先,在禁用颜色的情况下运行grunt会很有帮助,因为诊断控制台和部署日志都与ANSI代码相悖.为此,请运行grunt –no-color.这应该将STDOUT信息返回到控制台并进入部署日志.

其次,我不建议使用Node或NPM的签入版本. Windows Azure已经将这些内置于环境中,并且已经针对两者执行所需的特殊临时路径和缓存路径进行了配置.

Project Kudu是为Azure Deployments提供支持的部署引擎,但您已经知道这一点,因为您有一个.deployment文件.但是,Azure命令行工具[npm install azure-cli –global]将帮助您构建一些更好的部署脚本,这些脚本将使用Azure预安装的Node和NPM设置.

azure site deploymentscript –-node

将为您提供基本节点脚本.

从那里开始,需要对deploy.sh进行一些修改,以使其可靠地执行Grunt.在deploy.sh中是#Deployment部分.用以下内容替换其内容

# Deployment
# ----------

echo Handling node.js grunt deployment.

# 1. SELEct node version
SELEctNodeVersion

# 2. Install npm packages
if [ -e "$DEPLOymENT_sourcE/package.json" ]; then
  eval $NPM_CMD install
  exitWithmessageOnError "npm Failed"
fi

# 3. Install bower packages
if [ -e "$DEPLOymENT_sourcE/bower.json" ]; then
  eval $NPM_CMD install bower
  exitWithmessageOnError "installing bower Failed"
  ./node_modules/.bin/bower install
  exitWithmessageOnError "bower Failed"
fi

# 4. Run grunt
if [ -e "$DEPLOymENT_sourcE/Gruntfile.js" ]; then
  eval $NPM_CMD install grunt-cli
  exitWithmessageOnError "installing grunt Failed"
  ./node_modules/.bin/grunt --no-color clean common dist
  exitWithmessageOnError "grunt Failed"
fi

# 5. KuduSync to Target
"$KUDU_SYNC_CMD" -v 500 -f "$DEPLOymENT_sourcE/dist" -t "$DEPLOymENT_TARGET" -n "$NEXT_MANIFEST_PATH" -p "$PREVIoUS_MANIFEST_PATH" -i ".git;.hg;.deployment;deploy.sh"
exitWithmessageOnError "Kudu Sync to Target Failed"

这将运行npm install,然后是bower install(如果bower.json存在),接着是grunt clean common dist(如果Gruntfile.js存在),最后是KuduSync到你的/ wwwroot. (注意:用你需要运行的任何Grunt任务替换’clean common dist’.)

您可能会遇到一些其他问题.我在post on my personal blog中写了这个,其中包括你可能遇到的一些问题.

大佬总结

以上是大佬教程为你收集整理的node.js – Grunt无法在Azure网站上运行全部内容,希望文章能够帮你解决node.js – Grunt无法在Azure网站上运行所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。