【问题标题】:Add dependencies to Aurelia project将依赖项添加到 Aurelia 项目
【发布时间】:2016-12-21 06:29:19
【问题描述】:

我使用here 给出的最小项目设置了一个 Aurelia 项目。

然后我使用npm install aurelia-fetch-client --save 命令添加了fetch-client。它更新了package.json 以包含以下内容:

"dependencies": {
    "aurelia-fetch-client": "^1.1.0"
  }

但是当我将import {HttpClient} from 'aurelia-fetch-client'; 添加到我的app.js 文件并尝试运行该应用程序时,出现以下错误:

system.js:4 GET http://localhost:5000/aurelia-fetch-client 404 (Not Found)

如何添加?这个项目在哪里跟踪它的依赖关系?我看过很多帮助在aurelia cli 项目中设置获取客户端的教程。 here给的项目怎么样?

【问题讨论】:

  • 也许你必须这样做import {HttpClient} from './node_modules/aurelia-fetch-client'
  • 谢谢,我试过了,但问题是我的node_moduleswwwroot 之外,而aspnet 服务于wwwrooot 文件夹,所以它无法访问node_modules。跨度>
  • 本文不是生产就绪设置。这只是框架如何工作的一个简单示例。如果您想安装模块和/或将您的应用程序发送到生产环境,您应该使用aurelia-cli 或框架项目之一github.com/aurelia/skeleton-navigation/releases/latest 来代替
  • 谢谢,我可以坚持cli;顺便说一句,我有什么办法可以让它生产就绪,这样我就可以添加一些依赖项?
  • 最后,你做了什么决定?你能得到这个工作吗?

标签: aurelia aurelia-fetch-client


【解决方案1】:

首先,按照上面 Fabio Luz 的建议,实际安装 aurelia-cli 或骨架框架。

然后,我发现对于大多数正在学习 Aurelia 的人来说,下一步是最常见的困惑来源之一。通过npm 安装新模块后,您必须手动将它们列为aurelia.json 中的依赖项(在您的aurelia_project 文件夹中)。例如,您将列出aurelia-fetch-client,如下所示:

"dependencies": [
  "aurelia-binding",
  "aurelia-bootstrapper",
  "aurelia-dependency-injection",
  "aurelia-event-aggregator",
  ...
  "aurelia-fetch-client",
  ...

在它被列为依赖项后,它将被包含在vendor.js 捆绑包中(在 CLI 中,通过运行 au run --watch),以便您的应用程序在将其导入单个组件时可以访问它。

import {HttpClient} from 'aurelia-fetch-client';

【讨论】:

  • 请注意,目前正在开展工作以自动化修改 aurelia.json 文件的过程。
  • 是的,我知道并感谢这项工作!如果您参与其中,谢谢!
  • 我希望我能说我是,但这次我只是带来好消息。
  • 感谢您的信息,我之前使用cli 时遇到了同样的困惑,在这个项目中我找不到aurelia.json 或类似的配置文件。有什么办法可以补充吗?
  • 您不能只添加aurelia.json(即使添加了也会被忽略)。您需要以npm install aurelia-cli --save 开头,它将被创建。
【解决方案2】:

对我来说,它是这样工作的(使用 CLI 生成的项目):

npm i whatwg-fetch --save
npm i aurelia-fetch-client --save

将“aurelia-fetch-client”添加到 aurelia_project/aurelia.json 中的依赖项

app.js 示例:

import {HttpClient} from 'aurelia-fetch-client';

let client = new HttpClient();

export class App{
  activate(){
    client.fetch('http://...json');
    .then(response => response.json())
    .then(data =>{

    console.log(data)

    });
  }
}

【讨论】:

    【解决方案3】:

    您也可以使用 CLI 本身安装依赖项。

    它并不总是 100% 正确,但如果您遇到困难,它可以为您指明正确的方向。

    例如au install aurelia-fetch-client

    它将下载依赖项,添加到packages.json 并尝试为捆绑创建一个条目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多