使 UploadFS 与 angular2-meteor 一起工作
Make UploadFS work with angular2-meteor
我正好需要一个文件存储数据库,UploadFS
似乎是最好的选择。我的项目是 Angular2 typescript 和 Meteor。
meteor add jalik:ufs-gridfs
到目前为止,当我尝试像这样导入库时它失败了:
import {UploadFS} from 'meteor/jalik:ufs'
抛出的错误是找不到库(在客户端)。
我认为可能是因为库在 javascript
而项目的其余部分在 typescript
所以我尝试写一个存根 ufs.d.ts
,首先手工制作,然后用dstmake,然后当我发现我必须导出模块 UploadFS
以便 meteor (barbatus:typescript?) 可以看到它时再次手动操作:
declare module 'meteor/jalik:ufs' {
export module UploadFS{
interface UploadFS {
...
}
}
}
到目前为止,我的 ufs.d.ts
存根文件位于 typings/
文件夹中,并链接到 main.d.ts
。编译时没有错误。 Meteor sad DB 已正确创建...但是当我尝试使用它时它坏了。
我发现 UploadFS 未定义,所以我认为它没有引用库,即使 Meteor 编译没有任何错误。
所以我想我唯一剩下的就是手动将 jalik:ufs
和 jalik:ufs-gridfs
翻译成打字稿。那是对的吗?有没有更简单的方法让 ufs 与 angular2-meteor 一起工作?
您会使用其他存储解决方案吗?修复此库或选择另一个库有什么建议吗?
import { UploadFS } from 'meteor/jalik:ufs';
console.log('UploadFS', UploadFS);
这给了我 UploadFS
对象,我认为它完全独立于 angular2-meteor
所以我认为 jalik:ufs
应该工作正常,即使有 ts 编译器生成的警告。
关于打字,那些警告很烦人,我知道 :) 但你现在可以假装你没有看到它们。
这是我为 Angular1 制作的 jalik:ufs
的示例实现,但它看起来与 Angular2 几乎相同。
http://www.angular-meteor.com/tutorials/socially/angular1/handling-files-with-collectionfs
我成功地导入了那个库,只是用这一行抑制了警告:
import 'meteor/jalik:ufs'; declare let UploadFS:any;
请密切关注 https://github.com/meteor-typings and https://github.com/Urigo/angular2-meteor/issues/102 以便将来正确定义类型。
您永远不必为了使用它而在 TypeScript 中重新实现 JavaScript 库。
我正好需要一个文件存储数据库,UploadFS
似乎是最好的选择。我的项目是 Angular2 typescript 和 Meteor。
meteor add jalik:ufs-gridfs
到目前为止,当我尝试像这样导入库时它失败了:
import {UploadFS} from 'meteor/jalik:ufs'
抛出的错误是找不到库(在客户端)。
我认为可能是因为库在 javascript
而项目的其余部分在 typescript
所以我尝试写一个存根 ufs.d.ts
,首先手工制作,然后用dstmake,然后当我发现我必须导出模块 UploadFS
以便 meteor (barbatus:typescript?) 可以看到它时再次手动操作:
declare module 'meteor/jalik:ufs' {
export module UploadFS{
interface UploadFS {
...
}
}
}
到目前为止,我的 ufs.d.ts
存根文件位于 typings/
文件夹中,并链接到 main.d.ts
。编译时没有错误。 Meteor sad DB 已正确创建...但是当我尝试使用它时它坏了。
我发现 UploadFS 未定义,所以我认为它没有引用库,即使 Meteor 编译没有任何错误。
所以我想我唯一剩下的就是手动将 jalik:ufs
和 jalik:ufs-gridfs
翻译成打字稿。那是对的吗?有没有更简单的方法让 ufs 与 angular2-meteor 一起工作?
您会使用其他存储解决方案吗?修复此库或选择另一个库有什么建议吗?
import { UploadFS } from 'meteor/jalik:ufs';
console.log('UploadFS', UploadFS);
这给了我 UploadFS
对象,我认为它完全独立于 angular2-meteor
所以我认为 jalik:ufs
应该工作正常,即使有 ts 编译器生成的警告。
关于打字,那些警告很烦人,我知道 :) 但你现在可以假装你没有看到它们。
这是我为 Angular1 制作的 jalik:ufs
的示例实现,但它看起来与 Angular2 几乎相同。
http://www.angular-meteor.com/tutorials/socially/angular1/handling-files-with-collectionfs
我成功地导入了那个库,只是用这一行抑制了警告:
import 'meteor/jalik:ufs'; declare let UploadFS:any;
请密切关注 https://github.com/meteor-typings and https://github.com/Urigo/angular2-meteor/issues/102 以便将来正确定义类型。
您永远不必为了使用它而在 TypeScript 中重新实现 JavaScript 库。