node.js - 在 typescript ( Angular 2)应用程序中导入 Node 模块

标签 node.js angular typescript import module

我尝试加载this我的 typescript 中添加模块。 首先,我添加了 npm 包,并且该模块已作为 simpl-schema 正确安装在我的 node_modules 文件夹中。 由于这个包没有打字,我添加了这一行:

declare var SimpleSchema: any;

我尝试使用 import * as SimpleSchema from 'simpl-schema'; 导入包,并收到消息Cannot find module 'simpl-schema'。我认为这是因为 simpl-schema 不包含类型信息,但我不确定。

我在这里、reddit 和其他论坛上发现了大量有关此主题的问题,其中有很多建议不适用于我的设置。所以我想知道正确的方法是什么。

最佳答案

您得到的结果是正确的 Cannot find module 'simpl-schema'因为类型要么不可用,要么类型设置不正确。

使用declare var SimpleSchema: any;在你的 ts 中说 SimpleSchemavar 类型的变量 ( any )在该文件的范围之外声明。以上不会影响导入simpl-schema的结果直接地。一个例子是添加类似 declare const window: any; 的内容访问 window对象(如果尚未在其他地方为您定义)。

参见here一种利用 any 的方法当想要导入没有可用类型的模块时键入。

关于node.js - 在 typescript ( Angular 2)应用程序中导入 Node 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41747533/

相关文章:

javascript - 无法以 Angular 显示用户名

javascript - 如何传递react.js数据来创建类似meteor.js或relay.js的容器

Javascript Angular 4 通过多层组件使用 eventEmitter

javascript - 具有 'as' 属性的通用 React TypeScript 组件(能够渲染任何有效的 dom 节点)

javascript - NodeJS 中的模块导出回调用于单元测试

node.js - "npm install socket.io"错误

Angular Web Worker 应用程序不显示

javascript - Angular2 - : RouterModule. forRoot 问题

node.js - 如何在 Node 中使用 Azure 托管服务标识访问 Key Vault?

javascript - 如何在 Angular 2 应用程序中使用 Phoenix Channels/Sockets?