0

我创建了一个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"'.

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

编辑:

看着指南

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

    "noEmitHelpers": false,
    "noEmitOnError": false

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

4

2 回答 2

1

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

这需要在我对Github nativescript-dev-typescript issue 19 的回复中进行更改tsconfig.json和描述。references.d.ts

虽然此设置在带有 Angular CLI 的浏览器中工作并使用 NativeScript 构建tns android而不放松 "noEmitOnError": truein tsconfig.json,但我必须调试运行时异常,并apollo-client调用redux尝试调用node.js导致以下错误的代码:

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

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

于 2017-03-25T16:09:19.783 回答
0

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

于 2017-03-06T16:23:31.710 回答