Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在Angular 2中使用带out类型定义的节点模块_Node.js_Angular_Typescript_Node Modules - Fatal编程技术网

Node.js 在Angular 2中使用带out类型定义的节点模块

Node.js 在Angular 2中使用带out类型定义的节点模块,node.js,angular,typescript,node-modules,Node.js,Angular,Typescript,Node Modules,我已经编写了一个非常简单的节点模块[npm install twinconsole],并发布到npm 我还包括了浏览器umd模块,以便 也可以从浏览器中使用 下面是节点模块的相关代码 module.exports.print = msg => { console.log(msg); } 现在我想使用Angular 2 typescript应用程序中的这个节点模块来实现这一点 我在index.html中包含了以下CDN文件 为了使节点模块中导出的打印功能可以在下面的根组件中使用,我需要做

我已经编写了一个非常简单的节点模块[npm install twinconsole],并发布到npm

我还包括了浏览器umd模块,以便 也可以从浏览器中使用

下面是节点模块的相关代码

module.exports.print = msg => {
console.log(msg);
}
现在我想使用Angular 2 typescript应用程序中的这个节点模块来实现这一点

我在index.html中包含了以下CDN文件

为了使节点模块中导出的打印功能可以在下面的根组件中使用,我需要做什么

import { Component } from '@angular/core';

declare var twinconsole: any;  // ADDEED THIS LINE , IS THIS CORRECT ?


@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  title = 'app works!';
}

是的,你的声明应该很有效。我已经为加密做了类似的CryptoJS声明。我发现为声明的变量创建一个接口非常有用,如果它们的API更广泛的话。这使得VSCode这样的编辑器仍然能够提供良好的开发体验,因为它们通过autocomplete公开接口。
import { Component } from '@angular/core';

//define interface to get "intellisense" aka autocomplete and type errors
interface TwinConsole{
  print(msg:string);
}

declare var twinconsole: TwinConsole;


@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  title = 'app works!';
}