小编Mar*_*ell的帖子

在使用 Nativescript 和 Angular Schematics 的共享代码中找不到模块

我将 Angular 与 Nativescript Schematics 一起使用。我已经安装了 nativescript-ui-sidedrawer。当我跑

tns run ios --bundle
Run Code Online (Sandbox Code Playgroud)

本机版本已编译并部署到设备,但是当我运行时

ng serve
Run Code Online (Sandbox Code Playgroud)

网络版本失败,出现几个错误,都非常相似。第一个是

ERROR in ./node_modules/tns-core-modules/ui/builder/component-builder/component-builder.js
Module not found: Error: Can't resolve '../../../platform' in '/Users/markdev/Documents/Code/mydrawer/node_modules/tns-core-modules/ui/builder/component-builder'
Run Code Online (Sandbox Code Playgroud)

所有的错误都与路径有关。

如果我浏览到上面给出的错误并编辑“component-builder.js”,并将路径更改为

~/node_modules/tns-core-modules/platform
Run Code Online (Sandbox Code Playgroud)

../../../platform
Run Code Online (Sandbox Code Playgroud)

然后在运行“ng serve”时,该特定错误不会显示在输出的错误列表中。

但是……当我跑的时候

tns run ios --bundle
Run Code Online (Sandbox Code Playgroud)

我得到

ERROR in ../node_modules/tns-core-modules/ui/builder/component-builder/component-builder.js
Module not found: Error: Can't resolve '/Users/markdev/Documents/Code/mydrawer/src/node_modules/tns-core-modules/platform' in '/Users/markdev/Documents/Code/mydrawer/node_modules/tns-core-modules/ui/builder/component-builder'
 @ ../node_modules/tns-core-modules/ui/builder/component-builder/component-builder.js 7:15-66
 @ ../node_modules/tns-core-modules/ui/builder/builder.js
 @ ../node_modules/tns-core-modules/ui/repeater/repeater.js
 @ ../node_modules/tns-core-modules/bundle-entry-points.js
 @ ./main.ns.ts
Run Code Online (Sandbox Code Playgroud)

如果我在设备上打开应用程序,我会得到

*** Terminating app due to uncaught exception 'NativeScript encountered a fatal error: Error: Cannot find module …
Run Code Online (Sandbox Code Playgroud)

nativescript angular angular-schematics

5
推荐指数
1
解决办法
7670
查看次数

Firebase Firestore 在文档删除失败时返回 true

我有一个使用 Firebase 的 Firestore 进行持久化的应用程序。我正在使用 Material 的 Snackbar 进行通知。我在我的服务..

deleteProvider(data) {
    return this.db.collection(data.table).doc('xzc').delete();
  }
Run Code Online (Sandbox Code Playgroud)

其中数据参数只是一个对象,其中包含我要对其执行操作的表和我要删除的文档的 ID。

data: { table: 'providers', id: 'some firebase identifier'}
Run Code Online (Sandbox Code Playgroud)

在我的组件中

onDeleteEntry(event) {
    if (event.table === 'providers') {
      this.providerService.deleteProvider(event)
        .then(() => {
          this.snackBar.open('Provider deleted');
        })
        .catch((error) => {
          this.snackBar.open('Error deleting provider', error);
        });
    }
  }
Run Code Online (Sandbox Code Playgroud)

这会完美地删除文档,但在测试失败的情况时,它返回 true。

例如,如果我将 'xyz' 硬编码到 .doc('xyz') 方法中。响应调用我的 next() 方法,而不是我的 catch()。

deleteProvider(data) {
    return this.db.collection(data.table).doc('xyz').delete();
  } // returns true on a non-existent document
Run Code Online (Sandbox Code Playgroud)

Firebase 文档强调了这样一个事实,即删除后仍会保留嵌套集合,但除此之外,删除文档的基本功能很简单,除了

db.collection("cities").doc("DC").delete().then(function() {
    console.log("Document successfully deleted!");
}).catch(function(error) { …
Run Code Online (Sandbox Code Playgroud)

firebase typescript angular google-cloud-firestore

2
推荐指数
1
解决办法
2613
查看次数