我正在尝试使用托管的VSTS构建代理对您的Angular CLI项目运行单元测试,但是当它尝试运行'ng test'时它一直遇到麻烦。
为了解决这个问题,我尝试通过提供工具的路径,使代理直接使用ng工具。这没有用,因为它看起来像是在尝试运行'ng test'工具而不是在指定的当前工作目录中:
我还尝试将其添加为Windows中的环境变量(我们使用Windows Server 2012来托管VSTS代理)并将VSTS代理中的工具设置为ng
但是它似乎没有找到ng工具:
如何让VSTS代理使用ng
工具运行测试?我们在托管代理的服务器上安装了@ angular / cli。
问题是你不会在VSTS上全局安装angular cli,因为它的构建服务器不支持它。但是你甚至不需要在代理上全局安装cli。
所有你需要的是npm run ng build -- prod
- 这样它将始终运行本地版本。这样,您根本无需更新全局包。
使用npm run ng test
运行测试,npm run ng e2e
运行量角器。如果你需要传递任何更多的参数只需使用--
正如@Kuncevic所提到的,要在不全局安装的情况下使用Angular CLI,您需要使用npm run
命令。
使用Azure Devops运行Angular构建:
npm
任务以安装依赖项(为命令选择install
)npm
任务,但为命令选择custom
。然后添加你的command and arguments
:run ng -- build --output-path=dist --configuration=prod
请注意npm
不是command and arguments
的一部分,因为这将由任务提供。还要注意--
如何分离要运行的命令和要传递给命令的参数。