我决定尝试使用 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 目录中有物理文件:
然而当我运行时
au build
我得到的只是这个:
如果我将完整路径放入组件模板 EG 中:
import {HttpClient} from 'd:/aurtest2/aurelia-app/node_modules/aurelia-http-client/dist/aurelia-http-client';
构建然后找到该文件,但我收到一些奇怪的解析错误:
我完全不知道接下来要做什么或尝试什么,并且可以寻求 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/