【问题标题】:NativeScript with ApolloClient issueNativeScript 与 ApolloClient 问题
【发布时间】:2017-05-15 20:44:51
【问题描述】:

我用tns create project --ng 创建了一个运行良好的标准应用程序(并添加了平台android)

我也想用graphQL所以加了apollo-client和graphql标签:

npm install apollo-client --save
npm install angular2-apollo --save
npm install graphql-tag --save

所以现在当我使用 tns build android 构建时,我得到的错误是......

node_modules/@types/isomorphic-fetch/index.d.ts(7,5): error TS2300:
Duplicate identifier '"audio"'.

与(据我所见)冲突

node_modules/tns-core-modules/declarations.d.ts(25,5): error TS2300:   
Duplicate identifier '"audio"'.

isomorphic-fetch 在添加 apollo-client 时添加。不太确定打字问题,但很高兴知道如何解决这个问题。

编辑:

看着guide

我在 tsconfig.json 中将 2 项设置为 false,尽管出现错误,这似乎仍在继续...

    "noEmitHelpers": false,
    "noEmitOnError": false

但我想知道如何正确解决这个问题。

【问题讨论】:

    标签: angularjs nativescript typescript-typings apollostack apollo-client


    【解决方案1】:

    我遇到了同样的问题,但在一个具有以下依赖项的项目中解决了这个问题:

    这需要更改我对Github nativescript-dev-typescript issue 19 的回复中所述的tsconfig.jsonreferences.d.ts

    虽然此设置可在带有 Angular CLI 的浏览器中使用,并使用 tns android 为 NativeScript 构建,而无需在 tsconfig.json 中放松 "noEmitOnError": true,然后我不得不通过调用 apollo-client 来调试运行时异常 redux尝试调用node.js 代码导致以下错误:

    ReferenceError: process is not defined … /tns_modules/redux/lib/index.js', line: 38, column 4

    这是通过在main.ts 中添加global.process = { env: {} }; 作为第一行来解决的,如 NativeScript Github 问题 2937 中所述,由于我缺乏声誉点,StackOverflow 不允许我链接到该链接。

    【讨论】:

      【解决方案2】:

      好吧,我看到 tns-core-modules/declarations.d.ts 是使用 tns-core-modules/tns-core-modules.base.d.ts 导入的,所以实际上 Nativescript 应该提供一个不包含的可选定义基本文件中的请求定义

      【讨论】:

        猜你喜欢
        • 2017-11-07
        • 2020-07-14
        • 1970-01-01
        • 2019-03-16
        • 2017-03-08
        • 1970-01-01
        • 2019-04-30
        • 2019-04-01
        相关资源
        最近更新 更多