如何引用第三方npm模块?

14 浏览
0 Comments

如何引用第三方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()...?
  }
}

0
0 Comments

问题的原因是在使用第三方的npm模块时,可能会遇到无法正确引用的问题。解决方法是首先安装moment的类型定义文件,然后通过import语句将moment模块引入项目中。安装类型定义文件的命令是typings install moment --save,引入moment模块的代码是import * as moment from 'moment';。在的问题页面https://stackoverflow.com/a/36290343/3279156中提供了这个解决方法。虽然安装类型定义文件不能解决将实际的node模块包含在页面中的问题,但至少可以避免TypeScript的报错。

0