amazon-web-services - NativeScript AWS AppSync 集成
问题描述
我已经遵循了几个关于 Angular Web 的 AppSync 教程,但是尝试在 NativeScript 中重复这个过程更加困难。看起来 人们以前已经做过了,所以任何让这个工作的人的任何输入都会很棒。
按照我对常规 angular angular 应用程序执行的相同一般程序,我尝试使用 aws-appsync 和 nativescript-nodeify 来尝试使其与 nativescript 兼容。添加 nativescript-nodeify 消除了我最初的错误,但现在我遇到了一个新错误:
我得到的错误是:
***** Fatal JavaScript exception - application has been terminated. *****
Native stack trace:
1 0x100b9373c NativeScript::reportFatalErrorBeforeShutdown(JSC::ExecState*, JSC::Exception*, bool, bool)
2 0x100bc4068 -[TNSRuntime executeModule:referredBy:]
3 0x10056229c
4 0x184fcdfc0 <redacted>
JavaScript stack trace:
1 moduleDeclarationInstantiation@file:///app/tns_modules/aws-appsync/lib/link/non-terminating-link.js:71:26
2 link@[native code]
3 @[native code]
4 promiseReactionJob@[native code]
5 require@[native code]
6 anonymous@file:///app/tns_modules/aws-appsync/lib/link/non-terminating-link.js:71:26
7 evaluate@[native code]
8 moduleEvaluation@[native code]
9 @[native code]
10 promiseReactionJob@[native code]
11 require@[native code]
12 anonymous@file:///app/tns_modules/aws-appsync/lib/link/non-terminating-http-link.js:25:37
13 evaluate@[native code]
14 moduleEvaluation@[native code]
15 @[native code]
16 promiseReactionJob@[native code]
17 require@[native code]
18 anonymous@file:///app/tns_modules/aws-appsync/lib/link/index.js:21:42
19 evaluate@[native code]
20 moduleEvaluation@[native code]
21 @[native code]
22 promiseReactionJob@[native code]
23 require@[native code]
24 anonymous@file:///app/tns_modules/aws-appsync/lib/client.js:87:21
25 evaluate@[native code]
26 moduleEval<\M-b\M^@\M-&>
JavaScript error:
file:///app/tns_modules/aws-appsync/lib/link/non-terminating-link.js:71:26: JS ERROR SyntaxError: Importing binding name 'print' is not found.
初始化 AWSAppSyncConfig 时出现错误。相关代码如下:
require('nativescript-nodeify');
const appSyncConfig = ...
import AWSAppSyncClient from 'aws-appsync';
import { AUTH_TYPE } from 'aws-appsync/lib/link/auth-link';
...
const client = new AWSAppSyncClient({
url: appSyncConfig.aws_appsync_graphqlEndpoint,
region: appSyncConfig.aws_appsync_region,
auth: {
type: AUTH_TYPE.AMAZON_COGNITO_USER_POOLS,
jwtToken: ACCESS_TOKEN
}
});
错误消息指向 non-terminating-link.js 中的这一行:
var linkUtils_1 = require("apollo-link/lib/linkUtils");
解决方案
该问题最终与 typescript 2.9.* 和 aws-appsync 1.3.4 之间的兼容性问题有关。我将我的打字稿更新为 3.0.3,它现在可以工作了
推荐阅读
- django - django 3.1 用户未保持登录状态
- javascript - 尝试通过 Node.js 中的元素索引从数组中导出对象时,值未定义
- r - 在 R 数据框中使用 dplyr 计算元素之间的比率?
- angular - 如何使用 ag-grid CustomFilterComponent 构建查找搜索功能
- sql - 引用来自不同数据库的表变量
- python - 如何使用 Python 3 拆分数组元素
- c - 使用不带中断的switch case返回函数的值
- javascript - 检查变量是否为空的快捷方式 || 未定义||空字符串||false
- r - 在 R 中对文档项矩阵执行特征选择
- flutter - 应用栏太大,图标放不下