【问题标题】:How to build asp.net webApI and aurelia in VS online together?如何在VS在线一起构建asp.net webApI和aurelia?
【发布时间】:2018-01-19 15:04:01
【问题描述】:

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

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

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

为了发布 Aurelia,我在项目目录的 git bash 上单独执行 au build -–env prod,将文件捆绑到 wwwroot/scripts 目录中的 app-bundle.jsvendor-bundle.js 中。

所以我有两个不同的 Aurelia 和 webAPI 项目。问题是我可以在 Visual Studio Online/TFS 中同时构建两者吗?

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

如果不能一起运行,我可以将 aurelia 项目与 vs online 分开运行,这样我就可以得到捆绑的 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 中。” 它没有说如何去做,这就是我想要实现的。也许不建议提出问题作为答案,所以我在这里问了。

【问题讨论】:

    标签: bash tfs aurelia azure-pipelines


    【解决方案1】:

    调用au命令的方式有很多种:

    在文件夹中安装 Aurelia cli:

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

    示例:

       {
      "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

    在全局安装 Aurelia cli:

    1. 添加命令行任务(工具:npm;参数:install aurelia-cli -g
    2. 在任意文件夹中调用 au 命令

    关于“au build命令在预编译目标中执行”,您可以尝试通过Visual Studio任务构建项目并查看结果。

    【讨论】:

      猜你喜欢
      • 2013-12-27
      • 2016-08-28
      • 1970-01-01
      • 2018-07-17
      • 2019-11-02
      • 2018-05-30
      • 2016-10-02
      • 2016-08-21
      • 1970-01-01
      相关资源
      最近更新 更多