javascript - 让 UploadFS 与 angular2-meteor 一起工作

标签 javascript database meteor typescript angular2-meteor

我碰巧需要一个文件存储数据库,而UploadFS似乎是最好的选择。我的项目是使用 Angular2 typescript 和 Meteor 编写的。

meteor 添加 jalik:ufs-gridfs

到目前为止,当我尝试像这样导入库时它会失败:

从“meteor/jalik:ufs”导入 {UploadFS}

抛出的错误表示它无法找到该库(在客户端)。

我认为这可能是因为该库位于 javascript 中,而项目的其余部分位于 typescript 中,所以我尝试编写一个 stub ufs.d。 ts,首先手工制作,然后使用 dstmake ,然后当我发现我必须导出模块 UploadFS 以便 meteor (barbatus:typescript?)可以看到它时再次手动:

declare module 'meteor/jalik:ufs' {
    export module UploadFS{
        interface UploadFS {
            ...
        }
    }
}

到目前为止,我的 ufs.d.ts stub 文件位于 typings/ 文件夹中,并链接到 main.d.ts 。编译时没有错误。 Meteor 悲伤数据库已正确创建...但是当我尝试使用它时它坏了。

我发现 UploadFS 未定义,所以我认为它没有引用该库,即使 Meteor 编译没有任何错误。

所以我想我唯一剩下的就是手动将 jalik:ufsjalik:ufs-gridfs 翻译为 typescript 。那是对的吗?有没有更简单的方法让 ufs 与 angular2-meteor 一起工作?

您会使用其他存储解决方案吗?有什么建议修复此库或选择另一个库吗?

最佳答案

我成功导入了该库,并用这一行抑制了警告:

import 'meteor/jalik:ufs'; declare let UploadFS:any;

关注https://github.com/meteor-typingshttps://github.com/Urigo/angular2-meteor/issues/102以便将来正确的类型定义。

您永远不必在 TypeScript 中重新实现 JavaScript 库才能使用它。

关于javascript - 让 UploadFS 与 angular2-meteor 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37339580/

相关文章:

javascript - React Native 中出现此错误的原因是什么?

Javascript Promise 和 Firebase

php - 使用 php 创建异步数据库

javascript - 如何在 Meteor 方法中的函数中获取 this.userId

javascript - 完整的ajax请求或更多路线

javascript - Facebook 喜欢项目的按钮而不是链接

c# - 打开数据连接

MySQL 中的冗余行

javascript - 在 React Router 中渲染多个组件

node.js - 在 Meteor 中延迟加载有什么用?