Hyperledger Angular 应用程序 - 错误消息:"Could not find API route"
Hyperledger Angular App - error message: "Could not find API route"
我使用 Hyperledger Fabric Composer 创建了一个简单的应用程序。
但是,当我尝试与应用程序(在 http://localhost:4200 提供服务)交互时,我不断收到以下错误消息:
Error: 404 - Could not find API route. Please check your available APIs.
无论我想做什么,都会出现此错误消息(创建新的 Participant/Asset,提交 t运行saction,...)
我检查了错误消息是否与我创建的应用程序有关。所以我也部署了另一个我从网上下载的应用。同样,当我尝试与 UI.
交互时出现相同的错误消息
**********************************************************
长话短说:
写完代码后,我按照通常的步骤获得了一个 Angular Web 应用程序:
在应用程序 ("my_app") 的文件夹中,我创建了一个名为 "dist" 的文件夹。
在文件夹 "dist" 我 运行 以下命令:
composer archive create -t dir -n ../
composer network install --archiveFile my_app@0.0.1.bna --card PeerAdmin@hlfv1
composer network start --networkName my_app --networkVersion 0.0.1 --card PeerAdmin@hlfv1 --networkAdmin admin --networkAdminEnrollSecret adminpw
composer card import -f admin@my_app.card
//start rest-server:
composer-rest-server
yo hyperledger-composer
在执行最后一个命令后,我(从菜单中)选择了创建基于业务网络 "my_app" 的 "angular" 应用程序的选项。
已创建包含 angular-应用程序的文件夹(文件夹名称:"angular")。
在文件夹 "angular" 中,我 运行 以下命令:
ng serve
在命令行上创建了一些输出,其中包括以下行:
** NG Live Development Server is running on http://localhost:4200 **
当我去地址 http://localhost:4200 时,起初一切看起来都很好。
但是,每当我单击 UI 中的任何按钮时(例如 "Add Participant"),我都会收到以下错误消息:
Error: 404 - Could not find API route. Please check your available APIs.
我找到了解决方案:
使用
"npm start"
而不是
"ng serve"
避免了这个问题。
仅供参考。有一个 tutorial 显示 Composer Angular 生成器的使用,包括 npm start
序列。
我遇到了同样的问题,收到了同样的错误消息。所以我使用 yo hyperledger-composer 工具重新创建了 angular 应用程序,但这次我没有选择 "Connect to existing REST API",而是选择了 "Create new REST API",然后它在 localhost:4200 上连接正常,而其余服务器仍然 运行 在端口 3000 上。
我也遇到了这个错误,我通过 运行将作曲家和 angular 应用程序作为后台进程来解决它。
我安装了forever package到运行这两个作为后台进程。
然后如果你不想使用它就终止进程。
我刚刚 运行 使用 Composer CLI 工具的 0.20 版解决了这个问题。我通过在 /package.json 文件中编辑以下内容解决了这个问题:
"start" 条目最初的主机值为“0.0.0.0” -
"scripts": {
"ng": "ng",
"build": "ng build",
"prepack": "npm run build",
"start": "ng serve --proxy-config proxy.conf.js --host 0.0.0.0",
"lint": "tslint \"src/**/*.ts\"",
"test": "ng test --watch false",
"pree2e": "webdriver-manager update --standalone false --gecko false",
"e2e": "protractor"
}
我将其更改为 "localhost" -
"scripts": {
"ng": "ng",
"build": "ng build",
"prepack": "npm run build",
"start": "ng serve --proxy-config proxy.conf.js --host localhost",
"lint": "tslint \"src/**/*.ts\"",
"test": "ng test --watch false",
"pree2e": "webdriver-manager update --standalone false --gecko false",
"e2e": "protractor"
}
使用新设置重新启动 Angular 应用后一切正常。
我使用 Hyperledger Fabric Composer 创建了一个简单的应用程序。
但是,当我尝试与应用程序(在 http://localhost:4200 提供服务)交互时,我不断收到以下错误消息:
Error: 404 - Could not find API route. Please check your available APIs.
无论我想做什么,都会出现此错误消息(创建新的 Participant/Asset,提交 t运行saction,...)
我检查了错误消息是否与我创建的应用程序有关。所以我也部署了另一个我从网上下载的应用。同样,当我尝试与 UI.
交互时出现相同的错误消息 **********************************************************
长话短说:
写完代码后,我按照通常的步骤获得了一个 Angular Web 应用程序:
在应用程序 ("my_app") 的文件夹中,我创建了一个名为 "dist" 的文件夹。 在文件夹 "dist" 我 运行 以下命令:
composer archive create -t dir -n ../
composer network install --archiveFile my_app@0.0.1.bna --card PeerAdmin@hlfv1
composer network start --networkName my_app --networkVersion 0.0.1 --card PeerAdmin@hlfv1 --networkAdmin admin --networkAdminEnrollSecret adminpw
composer card import -f admin@my_app.card
//start rest-server:
composer-rest-server
yo hyperledger-composer
在执行最后一个命令后,我(从菜单中)选择了创建基于业务网络 "my_app" 的 "angular" 应用程序的选项。
已创建包含 angular-应用程序的文件夹(文件夹名称:"angular")。
在文件夹 "angular" 中,我 运行 以下命令:
ng serve
在命令行上创建了一些输出,其中包括以下行:
** NG Live Development Server is running on http://localhost:4200 **
当我去地址 http://localhost:4200 时,起初一切看起来都很好。
但是,每当我单击 UI 中的任何按钮时(例如 "Add Participant"),我都会收到以下错误消息:
Error: 404 - Could not find API route. Please check your available APIs.
我找到了解决方案:
使用
"npm start"
而不是
"ng serve"
避免了这个问题。
仅供参考。有一个 tutorial 显示 Composer Angular 生成器的使用,包括 npm start
序列。
我遇到了同样的问题,收到了同样的错误消息。所以我使用 yo hyperledger-composer 工具重新创建了 angular 应用程序,但这次我没有选择 "Connect to existing REST API",而是选择了 "Create new REST API",然后它在 localhost:4200 上连接正常,而其余服务器仍然 运行 在端口 3000 上。
我也遇到了这个错误,我通过 运行将作曲家和 angular 应用程序作为后台进程来解决它。
我安装了forever package到运行这两个作为后台进程。
然后如果你不想使用它就终止进程。
我刚刚 运行 使用 Composer CLI 工具的 0.20 版解决了这个问题。我通过在 /package.json 文件中编辑以下内容解决了这个问题:
"start" 条目最初的主机值为“0.0.0.0” -
"scripts": {
"ng": "ng",
"build": "ng build",
"prepack": "npm run build",
"start": "ng serve --proxy-config proxy.conf.js --host 0.0.0.0",
"lint": "tslint \"src/**/*.ts\"",
"test": "ng test --watch false",
"pree2e": "webdriver-manager update --standalone false --gecko false",
"e2e": "protractor"
}
我将其更改为 "localhost" -
"scripts": {
"ng": "ng",
"build": "ng build",
"prepack": "npm run build",
"start": "ng serve --proxy-config proxy.conf.js --host localhost",
"lint": "tslint \"src/**/*.ts\"",
"test": "ng test --watch false",
"pree2e": "webdriver-manager update --standalone false --gecko false",
"e2e": "protractor"
}
使用新设置重新启动 Angular 应用后一切正常。