typescript 바인딩과 함께 사용하려고했습니다.
npm install moment --save
typings install moment --ambient -- save
test.ts :
import {moment} from 'moment/moment';
그리고없이 :
npm install moment --save
test.ts :
var moment = require('moment/moment');
그러나 moment.format ()을 호출하면 오류가 발생합니다. 간단해야합니까, 누구나 작동하는 명령 줄 / 가져 오기 조합을 제공 할 수 있습니까?
답변
2017 년 4 월 업데이트 :
버전 2.13.0부터 Moment에는 유형 스크립트 정의 파일이 포함되어 있습니다. https://momentjs.com/docs/#/use-it/typescript/
콘솔 유형으로 npm으로 설치하십시오.
npm install --save moment
그런 다음 Angular 앱에서 가져 오기는 다음과 같이 쉽습니다.
import * as moment from 'moment';
그게 다야, Typescript를 완벽하게 지원합니다!
보너스 편집 :Moment
Typescript에서 와 같이 변수 또는 속성을 입력하려면 다음과 같이하십시오 :
let myMoment: moment.Moment = moment("someDate");
답변
moment
타사 글로벌 리소스입니다. 모멘트 객체 window
가 브라우저에 있습니다. 따라서 import
angular2 애플리케이션에서 올바르지 않습니다 . 대신 <script>
moment.js 파일을로드 할 태그를 HTML에 포함 하십시오.
TypeScript를 행복하게하려면 추가 할 수 있습니다
declare var moment: any;
파일 상단에서 컴파일 오류를 중지하는 데 사용하거나
///<reference path="./path/to/moment.d.ts" />
또는 tsd를 사용하여 TypeScript가 자체적으로 찾을 수있는 moment.d.ts 파일을 설치하십시오.
예
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');
}
HTML에 스크립트 태그를 추가하십시오. 그렇지 않으면 순간이 존재하지 않습니다.
<script src="node_modules/moment/moment.js" />
모듈 로딩 moment
먼저 moment.js 파일을로드하려면 System.js와 같은 모듈 로더를 설정해야 합니다.
System.config({
...
packages: {
moment: {
map: 'node_modules/moment/moment.js',
type: 'cjs',
defaultExtension: 'js'
}
}
});
그런 다음 필요한 순간에 파일로 순간을 가져옵니다.
import * as moment from 'moment';
또는
import moment = require('moment');
편집하다:
Webpack, SystemJS 빌더 또는 Browserify와 같은 일부 번 들러에는 창 오브젝트에서 벗어나는 옵션도 있습니다. 이에 대한 자세한 내용은 해당 웹 사이트를 방문하여 지시하십시오.
답변
다음은 나를 위해 일했습니다.
먼저 유형 정의를 설치하십시오.
typings install moment --save
(참고 : NOT --ambient
)
그런 다음 적절한 수출 부족 문제를 해결하려면 다음을 수행하십시오.
import * as moment from 'moment';
답변
나는 다음과 같이 갈 것이다.
npm install moment --save
당신으로 systemjs.config.js
파일의 map
배열 추가 :
'moment': 'node_modules/moment'
에 packages
배열 추가 :
'moment': { defaultExtension: 'js' }
component.ts에서 다음을 사용하십시오.
import * as moment from 'moment/moment';
그리고 그게 다야. 컴포넌트 클래스에서 사용할 수 있습니다.
today: string = moment().format('D MMM YYYY');
답변
우리는 지금 모듈을 사용하고 있습니다.
시험 import {MomentModule} from 'angular2-moment/moment.module';
후 npm install angular2-moment
답변
Typescript
프로젝트 에서 사용 하려면 순간을 설치해야합니다.
npm install moment --save
설치 후, .ts
파일을 가져온 후 모든 파일 에서 사용할 수 있습니다 .
import * as moment from "moment";
답변
— 업데이트 11/01/2017
타이핑 은 더 이상 사용되지 않으며 npm @types 로 대체되었습니다 . 이제부터는 형식 선언을 얻는 데 npm 외에 다른 도구가 필요하지 않습니다. Moment를 사용하려면 이미 자체 유형 정의를 제공하므로 @types를 통해 유형 정의를 설치할 필요가 없습니다 .
따라서 3 단계로 줄어 듭니다.
1-유형 정의가 포함 된 설치 모멘트 :
npm install moment --save
2-HTML 파일에 스크립트 태그를 추가하십시오.
<script src="node_modules/moment/moment.js" />
3-이제 그냥 사용할 수 있습니다. 기간.
today: string = moment().format('D MMM YYYY');
— 원래 답변
이 작업은 3 단계 만 거치면됩니다.
1-설치 모멘트 정의- * .d.ts 파일 :
typings install --save --global dt~moment dt~moment-node
2-HTML 파일에 스크립트 태그를 추가하십시오.
<script src="node_modules/moment/moment.js" />
3-이제 그냥 사용할 수 있습니다. 기간.
today: string = moment().format('D MMM YYYY');