λ‘μΌμΌ κ°μ λ³κ²½νλ €κ³ νλ©΄ μ€λ₯λ λ°μνμ§ μκ³ μ무 μΌλ μΌμ΄λμ§ μμ΅λλ€.
this.$log.log(moment.locale()); // returns 'en'
this.$log.log(moment.locale('fr')); // set to french but returns 'en'
this.$log.log(moment.locale()); // of course, still returns 'en' instead of 'fr'
Chrome κ°λ°μ λꡬ μ½μμμλ μλνμ΅λλ€.
> moment.locale('fr')
-> "en"
λ€λ₯Έ μκ°μ μ 곡ν μ μλ λͺ¨λ λ‘λλ₯Ό μ¬μ©νκ³ μμ΅λκΉ?
import m from 'moment';
this.$log.log(m.locale());
this.$log.log(m.locale('fr'));
this.$log.log(m.locale());
this.$log.log(window.moment.locale());
this.$log.log(window.moment.locale('is'));
this.$log.log(window.moment.locale());
μ λ κ°λ νλ‘μ νΈμ μμΌλ©° λͺ¨λμ JSPMμ μ¬μ©νλ νΈλ€μ
λλ€.
λλ λΉμ μ΄ "κ·Έκ²μ λΉμ μκ² λ€λ₯Έ μκ°μ μ€ μ μμ΅λλ€"λΌλ λ§μ μλ―Έλ₯Ό μ΄ν΄νμ§ λͺ»ν©λλ€.
3μ€μ λμΌν λ°©λ²μΌλ‘ λμΌν μκ°μ μ¬μ©νμ¬ μλν μ€μ μ½λμ
λλ€.
νΉμ λ³μλ₯Ό μ¬μ©ν΄λ κ°μ κ²°κ³Όκ° λμ΅λλ€.
import * as moment from 'moment';
export function registerDateFormatService(appModule: angular.IModule) {
appModule.service('dateFormatService', DateFormatService);
}
export class DateFormatService {
constructor(private $log: ng.ILogService) {
}
public format(value: moment.Moment, displayFormat: string): string {
this.$log.log(value.locale());
this.$log.log(value.locale('fr'));
this.$log.log(value.locale());
return value.format(displayFormat);
}
}
κ²°κ³Όλ λ€μκ³Ό κ°μ΅λλ€.
angular.js:13239 Moment {_isAMomentObject: true, _i: "2010-10-20 4:30", _f: "YYYY-MM-DD", _isUTC: false, _pf: Objectβ¦}_d: Wed Oct 20 2010 00:00:00 GMT+0200 (CEST)_f: "YYYY-MM-DD"_i: "2010-10-20 4:30"_isAMomentObject: true_isUTC: false_isValid: true_locale: Locale_abbr: "en"_ordinalParse: /\d{1,2}(th|st|nd|rd)/_ordinalParseLenient: /\d{1,2}(th|st|nd|rd)|\d{1,2}/ordinal: (number)__proto__: Locale_pf: Object__proto__: Moment
angular.js:13239 en
λ‘μΌμΌ λ°μ΄ν°λ₯Ό κ°μ Έμ€κ³ μμ΅λκΉ? μ΄λ€ .js νμΌμ μ¬μ©νκ³ μμ΅λκΉ?
λ€μ μ€ λ€μ λ€λ₯Έ κ°μ Έμ€κΈ°λ₯Ό μΆκ°νλ κ²μ μλ―Έν©λκΉ?
* 'μκ°'μμ μκ°μΌλ‘ κ°μ Έμ€κΈ°;
λλ μ¬κΈ°μμ JSPMμ μ¬μ©νμ¬ λͺ¨λ κ°μ§μμ κ°μ Έμ€κΈ°.
(λ΄ κ²½μ°μλ jspm λͺ¨λ ν΄λμ moment.jsμ fr.jsμ κ°μ localexx.jsμ²λΌ 보μ΄λ κ²μ΄ λ§μ΄ μμ΅λλ€.)
λ¬Έμμ "μ¬μ© μμΉ" μΉμ
μ μ½κ³ μ΄λ¬ν μλ리μ€κ° κ·νμκ² μ μ©λλμ§ νμΈνμμμ€. μΌλ°μ μΌλ‘ moment-with-locales.js
λ₯Ό μ¬μ©νκ±°λ λ‘μΌμΌ λ°μ΄ν°λ₯Ό λ³λλ‘ λ‘λν΄μΌ ν©λλ€. λλΆλΆμ λ‘λλ μΈμ΄ νμΌμ μλμΌλ‘ μ ννμ§ μμΌλ―λ‘ λ³λλ‘ κ°μ ΈμμΌ ν μλ μμ΅λλ€.
κΈ°λ³Έμ μΌλ‘ λ‘λλμ§ μμ λ‘μΌμΌλ‘ μ ννλ €κ³ νλ©΄ μκ°μ΄ en
λ‘μΌμΌλ‘ λλμκ°λλ€.
"λΈλΌμ°μ μμ λ‘μΌμΌ λ‘λ" λ μ°Έμ‘°νμμμ€.
λ΄κ° ν μ μλ μΌμ μ€νν΄ λ³΄κ² μ΅λλ€.
λλ npm installμ ν΅ν΄ jspmμμ μ¬μ©λλ package.jsonμ μΆκ°λ κ°λ¨ν λΌμΈμ μ¬μ©νκ³ μμ΅λλ€.
"moment": "github:moment/moment@^2.11.2"
κ·Έλ° λ€μ λ¨μΌ κ°μ Έμ€κΈ°μ ν¨κ» μ¬μ©ν©λλ€.
import * as moment from 'moment';
λλ λμΌν μ¬μ©λ²μ κ°μ§ μ μλ λ―Έλμ μ¬μ©μλ₯Ό μν΄ μΆμ νκΈ° μν΄ μ΄ λκΈμ μΌμ΅λλ€.
μ€ν κ²°κ³Όλ₯Ό ν¬μ€ν
νκ² μ΅λλ€.
κ°μ¬ ν΄μ
λλ μΆκ°νλ€:
import 'moment/locale/fr';
λ€μμ μ¬μ©νμ¬:
moment.locale('fr')
μ΄μ λ‘μΌμΌμ νλμ€μ΄λ‘ μ¬λ°λ₯΄κ² μ€μ ν©λλ€.
λμ μ΄μ§λ μμ§λ§ νμ¬λ‘μλ μλν κ²μ
λλ€.
λλ κ·Έκ²μ λ«μ μ μλ€κ³ μκ°νκ³ λ΅λ³ ν λͺ¨λ μ¬λλ€μκ² κ°μ¬λ립λλ€.
μ΄ λ¬Έμ κ° TypeScript/Angular/Jspmμ μ¬μ©νλ μ¬λλ€μκ² λμμ΄ λκΈ°λ₯Ό λ°λλλ€.
μλ§λ μ΄κ²μ λ¬Έμμ μΆκ°νμμμ€. λλ κ°μ λ¬Έμ κ° μμκ³ μ μ λ λ§μ μ¬λλ€μ΄ Bower λμ jspmμ μ¬μ©νκΈ° μμνμ΅λλ€.
μλνκ² λμ΄ κΈ°μ©λλ€! λ¬Έμ μ μ₯μμ λ¬Έμ λ₯Ό μΆκ°νμ΅λλ€. κ±°κΈ°μ μμ λ‘κ² PRμ 보λ΄μμμ€.
κ·Έλ κ² μμ
'μκ°/src/λ‘μΌμΌ/fr-ca' κ°μ Έμ€κΈ°;
import 'μκ°/src/locale/en-ca';
@younss μκ² κ°μ¬ ν¨κ³Όμ μ΄μμ΅λλ€. Ionic 2 RC 2λ₯Ό μ¬μ©νκ³ μμ΅λλ€.
@younss λΉμ μ λμ ꡬμΈμ£Όμ
λλ€! 2017λ
10μ 10μΌμ΄κ³ λ¬Έμμμλ μ΄ λ³κ²½ μ¬νμ μ§μ νμ§ μμ΅λλ€! μκ° 2.18μμ 2.19.0μΌλ‘ μ
λ°μ΄νΈλκ³ λ‘μΌμΌ κ°μ Έμ€κΈ°κ° μμ ν μ€λ¨λμμ΅λλ€.
리μ‘νΈ μ¬μ©νκΈ°.
λ€μ ν λ² κ°μ¬ν©λλ€!
2.19.1λ‘ μ
λ°μ΄νΈνμ λλ κ°μ λ¬Έμ κ° μμμ΅λλ€.
μ΄μ©λ©΄ μ΄κ²μ΄ λμμ΄ λ μ μμ΅λλ€:
μ κ±°νλ€ :
μ¬μ€ν:
npm μ€μΉ
λλ import 'μκ°'μ μ μμ μΌλ‘ μ μ§νκ³ λ΄ μμ€μμ λ‘μΌμΌμ μ¬μ©ν©λλ€. λ°λΌμ @younss μ²λΌ κ°μ Έμ¬ νμκ° μμ΅λλ€.
VueJSλ₯Ό μ¬μ©ν©λλ€.
μ΄κ²μ λλ₯Ό μν΄ μΌνμ΅λλ€.
pbκ° μκ° λ Έλ λ°μ΄ν°λ₯Ό μ λλ‘ μ λ°μ΄νΈνμ§ μλ package-lock.json νμΌμ μμ μ μμ΅λλ€. μ΄λ₯Ό μ κ±°νκ³ npm installμ λ€μ μ€ννλ©΄ λͺ¨λ λ°μ΄ν°κ° μ λ°μ΄νΈλ μ package-lock.json νμΌμ΄ μμ±λ©λλ€.
@younss , κ°μ¬ν©λλ€, μ μκ² ν¨κ³Όμ μ λλ€. λλ μν¬ λ²λ€λ¬λ₯Ό μ¬μ©νκ³ μμ΅λλ€.
μ΄ μ루μ μ μ μκ² ν¨κ³Όμ μ΄μμ΅λλ€. μ¬κΈ°
λλ μΆκ°νλ€:
'μκ°/λ‘μΌμΌ/fr' κ°μ Έμ€κΈ°;
μ΄κ² λ λ°λμλμ?
λλ μ€μΉνλ€:
npm i moment-with-locales-es6
npm i moment
νλμ ν¨μλ‘ ν΄λμ€λ₯Ό λ§λ€μμ΅λλ€.
import * as moment from 'moment';
import 'moment/locale/pt-br';
import 'moment/locale/fr-ca';
export class DatetimeFormatPipe
transform(date: string): string {
moment.locale('pt-BR');
console.log(moment.locale());
console.log('pt-BR', moment(date).toLocaleString());
moment.locale('fr-CA');
console.log(moment.locale());
console.log('fr-CA', moment(date).toLocaleString());
return "";
}
}
λ‘κ·Έλ λ€μκ³Ό κ°μ΅λλ€.
pt-br
pt-BR 2016λ 12μ 20μΌ νμμΌ 10:45:12 GMT+0100
fr-ca
fr-CA ν 2016λ 12μ 20μΌ 10:45:12 GMT+0100
κ·Έλ κ² μμ
'μκ°/src/λ‘μΌμΌ/fr-ca' κ°μ Έμ€κΈ°;
import 'μκ°/src/locale/en-ca';
κ·Έκ²μ λλ₯Ό μν΄ μλν©λλ€ κ°μ¬ν©λλ€!
λλ μ¬μ©νλ€:
import moment from 'moment/dist/moment';
import fr from 'moment/dist/locale/fr';
moment.locale('fr', fr);
μλν©λλ€.
λ€λ₯Έ μ루μ
μ μ μκ² ν¨κ³Όκ° μμμ΅λλ€.
import moment from 'moment/dist/moment';
import 'moment/dist/locale/ru';
moment.locale('ru');
μ€μ§ λλ₯Ό μν΄ μλν©λλ€. @ligne13 ννΈ κ°μ¬ν©λλ€!
μκ° 2.25.2
μλ νμΈμ,
'import 'moment/locale/fr';' μ¬μ© μ λ΄ Node/Express μ±μμ "SyntaxError: Cannot use import statement outside the module" μ€λ₯κ° λ°μνμ΅λλ€.
λλ μ΄κ²μ λ΄€κ³ --experimental-modules --es-module-specifier-resolution=node νλκ·Έλ₯Ό μΆκ°νλ €κ³ μλνμ§λ§ μ΄μ λ΄ μ±μ΄ μλ§μ λλ€.
μ΄ κ°μ Έμ€κΈ°λ₯Ό μΆκ°ν μ μλ κ²½μ° λ‘μΌμΌμ λ³κ²½ν μ μλ λ€λ₯Έ λ°©λ²μ΄ μμ΅λκΉ?
κ°μ¬ ν΄μ
ν΄
μ¬μ:
μλ νμΈμ,
'import 'moment/locale/fr';' μ¬μ© μ λ΄ Node/Express μ±μμ "SyntaxError: Cannot use import statement outside the module" μ€λ₯κ° λ°μνμ΅λλ€.
λλ μ΄κ²μ λ΄€κ³ --experimental-modules --es-module-specifier-resolution=node νλκ·Έλ₯Ό μΆκ°νλ €κ³ μλνμ§λ§ μ΄μ λ΄ μ±μ΄ μλ§μ λλ€.
μ΄ κ°μ Έμ€κΈ°λ₯Ό μΆκ°ν μ μλ κ²½μ° λ‘μΌμΌμ λ³κ²½ν μ μλ λ€λ₯Έ λ°©λ²μ΄ μμ΅λκΉ?
κ°μ¬ ν΄μ
ν΄
μ¬μ:
- OS : WSL2λ₯Ό ν΅ν μ°λΆν¬ 20.04
- λ Έλ : 12.18.3
- NPM : 6.14.6
- μ΅μ€νλ μ€ : 4.16.1
- λͺ¨λ©νΈJS : 2.27
@pbrissaud
μμ§ node.jsμμλ 'κ°μ Έμ€κΈ°'λ₯Ό μ¬μ©ν μ μμ΅λλ€. λλ κ·Έκ²μ μ§μ μλνμ§ μμμ§λ§ μ΄κ²μ΄ ν¨κ³Όκ° μλ€κ³ μκ°ν©λλ€.
require('moment/locale/fr')
moment.locale('fr');
κ°μ₯ μ μ©ν λκΈ
λλ μΆκ°νλ€:
import 'moment/locale/fr';
λ€μμ μ¬μ©νμ¬:
moment.locale('fr')
μ΄μ λ‘μΌμΌμ νλμ€μ΄λ‘ μ¬λ°λ₯΄κ² μ€μ ν©λλ€.
λμ μ΄μ§λ μμ§λ§ νμ¬λ‘μλ μλν κ²μ λλ€.
λλ κ·Έκ²μ λ«μ μ μλ€κ³ μκ°νκ³ λ΅λ³ ν λͺ¨λ μ¬λλ€μκ² κ°μ¬λ립λλ€.
μ΄ λ¬Έμ κ° TypeScript/Angular/Jspmμ μ¬μ©νλ μ¬λλ€μκ² λμμ΄ λκΈ°λ₯Ό λ°λλλ€.