VSTS npm自定义构建任务 - 运行npm脚本失败,类型错误

时间:2017-08-01 10:22:24

标签: npm azure-pipelines azure-pipelines-build-task npm-run

我在package.json中定义了一些脚本,例如,

    "config": {
    "source": "./assets/stylesheets/civica-styles.scss",
    "dist": "./dist/civica-styles.css",
    "minCss": "./dist/civica-styles.min.css"
  },
  "scripts": {
    "transpile": "cross-var node-sass $npm_package_config_source $npm_package_config_dist",
    "minify": "cross-var cleancss -o $npm_package_config_minCss $npm_package_config_dist"
  }

我可以在命令行运行它们,如下所示

npm run transpile

我已经在VSTS中设置了一个执行以下初始任务的构建:

  1. 获取来源(从回购中获取代码)
  2. npm install(安装     我的package.json中定义的包
  3. 现在我要添加运行transpile中定义的package.json的任务,因此我添加了以下npm custom任务

    • 显示名称=> npm transpile
    • Command =>
    • 命令和参数=> run transpile

    然而,构建失败并带有

    2017-08-01T10:01:42.5125804Z ##[section]Starting: npm custom
    2017-08-01T10:01:42.5125804Z ==============================================================================
    2017-08-01T10:01:42.5125804Z Task         : npm
    2017-08-01T10:01:42.5125804Z Description  : Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Package Management.
    2017-08-01T10:01:42.5125804Z Version      : 1.0.3
    2017-08-01T10:01:42.5125804Z Author       : Microsoft Corporation
    2017-08-01T10:01:42.5125804Z Help         : [More Information](https://go.microsoft.com/fwlink/?LinkID=613746)
    2017-08-01T10:01:42.5125804Z ==============================================================================
    2017-08-01T10:01:43.3515881Z ##[error]TypeError: Cannot read property 'trim' of null
    2017-08-01T10:01:43.3565858Z ##[section]Finishing: npm custom
    

    有关如何从VSTS构建任务执行npm运行脚本的任何想法吗?

2 个答案:

答案 0 :(得分:0)

检查npm任务的使用package.json的工作文件夹框。 文件夹路径不是文件,您可以使用$(Build.SourcesDirectory)

答案 1 :(得分:0)

从PowerShell任务运行npm对我有用。

  1. 将类型设置为“内联”
  2. 在“脚本”框中编写任务,例如。 npm run test
  3. 确保将“工作目录”设置为“高级”下的package.json文件夹。

example