如何在VS中一起构建asp.net webApI和aurelia?

时间:2018-01-19 00:21:09

标签: bash tfs aurelia azure-pipelines

我使用aurelia-cli在asp.net WebAPI的后端设置我的Aurelia应用程序。

我从visual studio在localhost上的一个端口运行后端,它暴露了api端点。然后我从我的项目目录中打开git bash来执行au run,它在localhost:9000上运行我的Aurelia前端

在Visual Studio Online上,即使我对Aurelia中的某个打字稿文件进行了更改,它也会构建我的后端项目。但是构建过程创建的工件没有任何.ts文件。这与我从视觉工作室发布时类似。

要发布Aurelia,我会在项目目录中的git bash上单独au build -–env prod,将文件捆绑到app-bundle.js目录中的vendor-bundle.jswwwroot/scripts

所以我为Aurelia和webAPI提供了两个不同的项目。问题是我可以在visual studio online / TFS中一起构建吗?

我尝试使用au build –-env prod命令添加一个shell脚本作为构建过程的任务。它试图从它丢弃工件的临时位置运行,例如:d:\a\1\s\mycommand.sh。 Aurelia没有安装在那里,所以我遇到了au command not found错误。

如果没有在一起,我可以单独从vs online运行aurelia项目,这样我就可以获得捆绑的js文件,然后我可以用它来部署,而不必从git bash运行命令吗?

更新:写完这篇文章后,我在建议How to optimize workflow with single project using Aurelia CLI / ASP.NET Core中收到了这篇文章 提到" au build命令在预编译目标中执行,因此当我使用F5从Visual Studio构建或运行ASP.NET Core项目时,Aurelia CLI将构建Aurelia应用程序的资产并将其捆绑到wwwroot中井&#34。 它没有说明如何去做,这就是我想要实现的目标。也许不建议将问题作为答案,所以我在这里问了一下。

1 个答案:

答案 0 :(得分:1)

有许多方法可以调用au命令:

将Aurelia cli安装在一个文件夹中:

  1. 在package.json文件中包含aurelia-cli包依赖(依赖 devDependencies )或直接通过命令行任务安装(将package.json文件放在目标中)要调用au命令的文件夹)
  2. 将au build命令添加到 package.json 脚本
  3. 样品:

       {
      "name": "autest",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "dependencies": {
        "aurelia-cli": "^0.32.0"
      },
      "devDependencies": {},
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "aubuild": "au build --env stage"
      },
      "author": "",
      "license": "ISC"
    }
    
    1. 通过NPM构建任务安装包(命令:install;包含package.json的工作文件夹:package.json文件夹路径)
    2. (选项1)通过NPM构建任务调用NPM命令(命令:custom;使用package.json的工作文件夹:package.json文件夹路径;命令和参数:run aubuild
    3. (选项2)通过命令行任务调用au命令(工作文件夹:Aurelia-cli软件包安装路径;工具:node_module\.bin\au;参数:build --env stage
    4. 在全球范围内安装Aurelia cli:

      1. 添加命令行任务(工具:npm;参数:install aurelia-cli -g
      2. 在任何文件夹中调用au命令
      3. 关于“在预编译目标中执行au build命令”,您可以尝试通过Visual Studio任务构建项目并检查结果。