alanning:role,在 angular2-meteor 中导入问题

Posted

技术标签:

【中文标题】alanning:role,在 angular2-meteor 中导入问题【英文标题】:alanning:role, importing issue in angular2-meteor 【发布时间】:2017-05-09 22:26:01 【问题描述】:

我使用了 meteoralanning:role 包,角色 工作正常,但问题是我收到了 "Cannot find name 'Roles" 的警告。

请帮我解决这个问题。我到处搜索过。

有些人像"import Roles from 'alanning:roles';"一样导入它

我也试过了,但仍然出现错误... 请帮助我,请不要像 "asked issue" 中那样提交它。 我这两天一直在搜索这个问题,但我没有得到任何答案,请建议我任何帮助或请解决这个问题,提前谢谢。

【问题讨论】:

不是import Roles from 'meteor/alanning:roles'; 我试过了但是不行,这个包是安装在meteor pakcages文件里的,但是还是显示没有安装,但是工作正常。 【参考方案1】:

您面临的错误是输入错误。它是一个流星包并通知打字稿您正在使用它,您必须通过导入它来告诉它。我遇到了同样的问题。其实你忘了导入

 import  Roles  from 'meteor/alanning:roles';

在您的收藏文件或发布文件中。将其导入您的收藏和发布文件中,您将不会遇到此拼写错误。

接下来如果您在导入后遇到错误Cannot find module 'meteor/alanning:roles',这意味着meteor 在typings.d.ts 中没有该包的定义。有些包还没有类型定义文件。您必须在 typings.d.ts 文件中创建自己的打字稿定义,或者如果您有具有 @typings 文件夹的新 angular 2 流星样板。只需在该文件中添加此代码

declare module "meteor/alanning:roles" 
  export module Roles 
    function userIsInRole(id?: any,value?: any): boolean  
    function addUsersToRoles(id?: any,value?: any): boolean 
  

对于其他出现类似错误的包,您可以创建自己的定义。

【讨论】:

在导入之前我收到此错误“找不到名称'Roles'。”导入后我收到此错误“无法找到模块'meteor/alanning:roles'。”。我知道不导入我可以使用这个包,但你怎么能指望我不导入它呢?我已经尝试过将“alanning:Roles”包导入但不导入。它在不导入的情况下工作正常,但在不导入的情况下出现错误,这就是我要导入这个包的原因。 @Habib M.Farooq 我期待这个,因为你说找不到名称'角色而不是找不到模块'流星/alanning:角色。如果您不导入 Roles,则第一个出现,如果您在 typings.d.ts 中没有该包的定义,则出现第二个。无论如何没问题我已经为你更新了我的答案:)检查一次 非常感谢您的有用回答...它工作正常,一切正常...谢谢兄弟.. :) 请不要忘记点击右边的符号将答案标记为正确,以供将来遇到同样问题的人使用! :)【参考方案2】:

有一种更简单的方法可以在 typescript 中导入流星包,而无需编写自己的声明。大部分类型都在这里定义

https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/meteor

安装已定义类型的 NPM 模块。

meteor npm install --save @types/meteor-roles

导入模块中的类型

import   from '@types/meteor-roles';

现在,您可以将 Roles 类型用于 addUsersToRoles() 等方法。

【讨论】:

以上是关于alanning:role,在 angular2-meteor 中导入问题的主要内容,如果未能解决你的问题,请参考以下文章

在 Angular2 应用程序中使用 angular2-websocket 关闭 websocket 连接时,如何重新连接它?

Angular2 - 在组件中测试 ngOninit

Angular2 - angular2.dev.js:23501 例外:在 ArticleComponent 上找不到指令注释

如何在angular2中使用添加类属性

在angular2中自动调整textarea

Angular2 [innerHtml] angular2 标签不起作用