momentes un recurso global de terceros. El momento en que el objeto vive windowen el navegador. Por lo tanto, no es correcto importen su aplicación angular2. En cambio, incluya el<script> etiqueta en su html que cargará el archivo moment.js.
Para hacer feliz a TypeScript, puede agregar
declare var moment: any;
en la parte superior de sus archivos donde lo usa para detener los errores de compilación, o puede usar
///<reference path="./path/to/moment.d.ts" />
o use tsd para instalar el archivo moment.d.ts que TypeScript podría encontrar por sí mismo.
Ejemplo
import {Component} from 'angular2/core';
declare var moment: any;
@Component({
selector: 'example',
template: '<h1>Today is {{today}}</h1>'
})
export class ExampleComponent{
today: string = moment().format('D MMM YYYY');
}
Solo asegúrese de agregar la etiqueta de script en su html o el momento no existirá.
<script src="node_modules/moment/moment.js" />
Módulo de carga moment
Primero, necesitaría configurar un cargador de módulos como System.js para cargar los archivos commonjs del momento
System.config({
...
packages: {
moment: {
map: 'node_modules/moment/moment.js',
type: 'cjs',
defaultExtension: 'js'
}
}
});
Luego, para importar el momento en el archivo donde sea necesario, use
import * as moment from 'moment';
o
import moment = require('moment');
EDITAR:
También hay opciones con algunos paquetes como Webpack o SystemJS Builder o Browserify que mantendrán el momento alejado del objeto de la ventana. Para obtener más información sobre estos, visite sus respectivos sitios web para obtener instrucciones.