在Azure Dev Ops上使用Weyland构建问题

时间:2020-09-17 00:15:23

标签: azure-devops azure-pipelines durandal weyland

我有一个使用Durandal构建的应用程序,并使用Weyland进行了构建。我已经全局安装了Weyland,并且在本地运行命令weyland build -c "path\to\config"时,它可以正常工作并导致以下输出

info jshint Linting 6 files.  
info jshint Passed for App/cart/config.js.  
info jshint Passed for App/cart/main.js.  
info jshint Passed for App/cart/services/datacontext.js.  
info jshint Passed for App/cart/viewmodels/cart.js.  
info jshint Passed for App/cart/viewmodels/nextsteps.js.  
info jshint Passed for App/cart/viewmodels/shell.js.  
info uglifyjs Uglifying 22 files.  
info uglifyjs Uglified App/cart/config.js.  
info uglifyjs Uglified App/cart/main.js.  
WARN: Dropping unused function argument c [null:22,32]

当我在Azure Dev Ops中运行相同的序列而不是WARN时,出现错误:

错误! uglifyjs TypeError:sys.error不是函数

info jshint Linting 6 files.
info jshint Passed for App/cart/config.js.  
info jshint Passed for App/cart/main.js.  
info jshint Passed for App/cart/services/datacontext.js.  
info jshint Passed for App/cart/viewmodels/cart.js.  
info jshint Passed for App/cart/viewmodels/nextsteps.js.  
info jshint Passed for App/cart/viewmodels/shell.js.  
info uglifyjs Uglifying 22 files.  
info uglifyjs Uglified App/cart/config.js.  
info uglifyjs Uglified App/cart/main.js.  
ERR! uglifyjs TypeError: sys.error is not a function

堆栈跟踪:

ERR! uglifyjs TypeError: sys.error is not a function
ERR! uglifyjs     at Function.UglifyJS.AST_Node.warn_function (C:\npm\prefix\node_modules\weyland\node_modules\uglify-js\tools\node.js:42:9)
ERR! uglifyjs     at Function.AST_Node.warn (C:\npm\prefix\node_modules\weyland\node_modules\uglify-js\lib\ast.js:110:18)
ERR! uglifyjs     at Compressor.warn (C:\npm\prefix\node_modules\weyland\node_modules\uglify-js\lib\compress.js:81:27)
ERR! uglifyjs     at TreeTransformer.before (C:\npm\prefix\node_modules\weyland\node_modules\uglify-js\lib\compress.js:956:44)
ERR! uglifyjs     at AST_Defun.transform (C:\npm\prefix\node_modules\weyland\node_modules\uglify-js\lib\transform.js:61:35)
ERR! uglifyjs     at C:\npm\prefix\node_modules\weyland\node_modules\uglify-js\lib\transform.js:80:25
ERR! uglifyjs     at doit (C:\npm\prefix\node_modules\weyland\node_modules\uglify-js\lib\utils.js:114:23)
ERR! uglifyjs     at MAP (C:\npm\prefix\node_modules\weyland\node_modules\uglify-js\lib\utils.js:140:52)
ERR! uglifyjs     at do_list (C:\npm\prefix\node_modules\weyland\node_modules\uglify-js\lib\transform.js:79:16)
ERR! uglifyjs     at C:\npm\prefix\node_modules\weyland\node_modules\uglify-js\lib\transform.js:168:21

正在使用Command Line task执行构建。

我的计算机和管道都配置有

Node v12.16.2 
NPM 6.14.4

为什么Azure Pipeline VM无法显示警告?我该如何解决?

1 个答案:

答案 0 :(得分:0)

由于您没有共享配置的任务定义,所以我猜您在选中“ 标准错误失败”选项时遇到了此错误。

enter image description here

因为如果选中此选项,我也会遇到同样的问题。

enter image description here

但是,如果我取消选中选项“ 标准错误失败”,此意外问题将消失。

enter image description here

因此,要解决此问题,请确保未选中命令行任务的选项“ 标准错误失败”。