azure-devops - Aurelia 在 VSO 托管构建 Controller 上构建

标签 azure-devops aurelia jspm

我正在尝试在 VSO 托管构建 Controller 上为 Aurelia 进行构建。我创建了一个小的 powershell 脚本来运行以下命令

npm install
.node_modules/.bin/jspm cc
.node_modules/.bin/jspm install -y
.node_modules/.bin/gulp build

我确实有 AfterBuild 目标可以将 jspm_packages 和 dist 文件夹复制到我的 _publishedWebsites 文件夹。

npm install 运行良好,但是当涉及 jspm cc(如果我删除 jspm cc 并让它运行 jspm install -y)时,它会失败
jspm cc

          Migrating global jspm folder from C:\Users\buildguest\.jspm to C:\Users\buildguest\AppData\Local\.jspm...
          Copying configuration...

     err  Error migrating to new jspm folder
 2>EXEC : error : ENOENT, no such file or directory 'C:\Users\buildguest\.jspm\config' [d:\a\src\WebGUI\OwinAureliaScaffold\OwinAureliaScaffold.csproj]
              at Object.fs.openSync (evalmachine.<anonymous>:427:18)
              at Object.fs.readFileSync (evalmachine.<anonymous>:284:15)
              at Object.<anonymous> (d:\a\src\WebGUI\OwinAureliaScaffold\public\node_modules\jspm\lib\global-config.js:36:24)
              at Module._compile (module.js:456:26)
              at Object.Module._extensions..js (module.js:474:10)
              at Module.load (module.js:356:32)
              at Function.Module._load (module.js:312:12)
              at Module.require (module.js:364:17)
              at require (module.js:380:17)
              at Object.<anonymous> (d:\a\src\WebGUI\OwinAureliaScaffold\public\node_modules\jspm\lib\registry.js:19:20)
     ok   Loader file cache cleared.
     ok   Package cache cleared.

我知道 jspm 不是全局安装的,因为它是一个托管 Controller ,我不能真正全局安装它。我的问题是,如何在没有全局 jspm 安装的情况下解决这个问题?是否有无需迁移配置文件的解决方法?

最佳答案

即使您无法在托管构建代理上安装和运行 jspm CLI,您也可以通过节点本身运行 jspm。

首先,确保安装了 jspm - 你的 powershell 脚本会这样做。或者,您可以使用 VSO Build 的“npm install task”,前提是 jspm 在您的 package.json 中。文件。
enter image description here

我使用 Gulp 通过 node 执行 jspm。我不确定这是否是执行此步骤的最佳方法,但它确实有效……我使用了 VSO 的“Gulp 任务”

enter image description here

以下是来自 gulpfile.js 的相关信息:

var gulp = require('gulp'),
    exec = require('child_process').exec;

//#region Build Tasks
gulp.task('build:jspm', function (cb) {
    exec("node ./node_modules/jspm/jspm.js install", function(err, stdout, stderr) {
        console.log(stdout);
        console.error(stderr);
        cb(err);
    });
});

gulp.task('_build', ['build:jspm']);

关于azure-devops - Aurelia 在 VSO 托管构建 Controller 上构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30101421/

相关文章:

javascript - 如何动态更改 aurelia 中的模板/单击以编辑表格行?

javascript - Aurelia.js 在单击后插入 CSS 类并仅绑定(bind)单击的行

angularjs - 为什么我会收到来自 Karma 网络服务器的 404 消息?

Webpack 与 SystemJs/JSPM

docker - 在 Azure DevOps 中运行 yaml-pipeline 时将 repo 挂载到 docker 镜像中

azure - 未从 Azure Devops 管道中的变量组中的变量获取任何值

azure - 使用 System.PullRequest.TargetBranch 动态设置变量组

.net - 如何从 Devops 管道将 azure 函数发布到 Active Directory 中的 Azure Linux 函数

typescript - 解决VS 2017中的 'Conflicting definitions for node' TS4090错误

javascript - 完成 aurelia 应用程序