typescript - 为什么 Aurelia 会在错误的位置查找文件?

标签 typescript components aurelia

我决定尝试使用 Aurelia 构建一个应用程序,总的来说,我真的很喜欢我所看到的。

但是,我在尝试使用框架附带的内置功能时遇到了严重的问题。

经过 2 天的与包管理器和配置文件的斗争,我终于让我的构建(Typescript)认识到我已经安装了 aurelia-http-client 库,但我一生都无法得到“au” build”以在正确的位置查找它(无论如何,如果不手动指定完整路径)

我的组件如下所示:

import {bindable} from 'aurelia-framework';
import {HttpClient} from 'aurelia-http-client';

export class Stanoxtable {

  public getData(){

    alert("About to get data");

    let client = new HttpClient();

    client.get('http://localhost/corpus.json')
    .then(data => {
      console.log(data)
    });

  }

}

我的 config.js 文件中有以下内容:

...
    paths: {
        "github:*": "jspm_packages/github/*",
        "npm:*": "jspm_packages/npm/*"
    },

    map: {
        "aurelia-http-client": "npm:<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c8a9bdbaada4a1a9e5a0bcbcb8e5aba4a1ada6bc88f9e6f8e6fb" rel="noreferrer noopener nofollow">[email protected]</a>",
...

我的 package.json 中还有以下内容:

...
  "devDependencies": {
    "aurelia-cli": "^0.23.0",
    "aurelia-http-client": "^1.0.3",
...
  },
  "jspm": {
    "dependencies": {
      "aurelia-http-client": "npm:aurelia-http-client@^1.0.3"
    },
...

我的 npm node_modules 目录中有物理文件:

Dir showing files

然而当我运行时

au build

我得到的只是这个:

Output from "au build"

如果我将完整路径放入组件模板 EG 中:

import {HttpClient} from 'd:/aurtest2/aurelia-app/node_modules/aurelia-http-client/dist/aurelia-http-client';

构建然后找到该文件,但我收到一些奇怪的解析错误:

Build output 2

我完全不知道接下来要做什么或尝试什么,并且可以寻求 aurelia 专家的帮助。

谢谢 肖蒂

最佳答案

Aurelia CLI 提供 aurelia_project\aurelia.json 文件中定义的 bundle 中的所有内容。您需要将 aurelia-http-client 添加到 aurelia.json 文件的 vendor-bundle 部分。

目前正在进行的工作将自动执行此操作,以便您能够运行 au install aurelia-http-client 之类的内容,并且 CLI 将修改 aurelia.json 为您创建文件,但现在您必须手动修改它。

不要引用我的配置,但它可能看起来像这样:

{
  "name": "aurelia-http-client",
  "path": "../node_modules/aurelia-http-client/dist/amd",
  "main": "aurelia-http-client"
}

关于typescript - 为什么 Aurelia 会在错误的位置查找文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41495769/

相关文章:

delphi - Delphi Win32 的最佳共享软件锁

c# - 模板化 Blazor 组件

javascript - 如何在不使用 ES6 类功能的情况下在 Aurelia 中注入(inject)依赖项

Aurelia - 如何从 jquery 函数访问类属性?

typescript - Aurelia/Typescript - 如何通过选择标签将对象绑定(bind)到变​​量

javascript - Angular2当路由器改变页面时调用javascript API

angular - Jasmine .toHaveBeenCalledWith 什么时候匹配参数?

javascript - 使用过滤器或管道将产品类别加载到 Ionic 2 的页面中?

node.js - 升级到最新的 Node 和 npm 后,npm i 无法工作

frameworks - 实体编程教程?