如何引用第三方npm模块?
如何引用第三方npm模块?
我已经使用npm install moment --save
安装了moment.js,并且它现在在我的node_modules文件夹中,但是我不知道如何在我的应用程序中引用它。
问题:当我使用npm安装了moment.js后,我该如何在Ionic 2应用程序中使用它?
以下是我的app.ts的简化版本:
import {App, IonicApp, Platform, Modal, Events, Alert, MenuController} from 'ionic-angular'; import {Type} from 'angular2/core'; import {OnInit, OnDestroy} from 'angular2/core'; // 本地功能 import {Keyboard} from 'ionic-native'; // 尝试这个但是找不到模块 //import {moment} from 'moment'; @App({ templateUrl: 'build/app.html', config: {}, // http://ionicframework.com/docs/v2/api/config/Config/ providers: [] }) class MyApp { isLoadingData: boolean = false; rootPageToExitOn: string; rootPage: Type; pages: Array<{icon: string, title: string, component: Type}>; showMenu: boolean; constructor( private app: IonicApp, private platform: Platform, private menu: MenuController, private _events: Events ) { this.initializeApp(); // 如何在这里使用moment()...? } }
问题的原因是在使用第三方的npm模块时,可能会遇到无法正确引用的问题。解决方法是首先安装moment的类型定义文件,然后通过import语句将moment模块引入项目中。安装类型定义文件的命令是typings install moment --save
,引入moment模块的代码是import * as moment from 'moment';
。在的问题页面https://stackoverflow.com/a/36290343/3279156中提供了这个解决方法。虽然安装类型定义文件不能解决将实际的node模块包含在页面中的问题,但至少可以避免TypeScript的报错。