Moment: moment/src/lib/locale/locales.jsμ—μ„œ './locale' 경둜λ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2018λ…„ 03μ›” 19일  Β·  54μ½”λ©˜νŠΈ  Β·  좜처: moment/moment

WARNING in ./node_modules/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in 'D:\project-fed\ecloud\client-web\node_modules\moment\src\lib\locale'

μ•„λž˜ κΈ°λŠ₯에 λ¬Έμ œκ°€ μžˆμŒμ„ λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€.

function loadLocale(name) {
    var oldLocale = null;
    // TODO: Find a better way to register and load all the locales in Node
    if (!locales[name] && (typeof module !== 'undefined') &&
            module && module.exports) {
        try {
            oldLocale = globalLocale._abbr;
            var aliasedRequire = require;
            aliasedRequire('./locale/' + name);
            getSetGlobalLocale(oldLocale);
        } catch (e) {}
    }
    return locales[name];
}

aliasedRequire('./locale/' + name); , ../locale/ 이어야 ν•©λ‹ˆκΉŒ?

Troubleshooting

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ•„λž˜μ™€ 같이 import ν•˜λ©΄ λ©λ‹ˆλ‹€.

'μˆœκ°„/μˆœκ°„'μ—μ„œ μˆœκ°„μ„ κ°€μ Έμ˜΅λ‹ˆλ‹€.

λͺ¨λ“  54 λŒ“κΈ€

webpack을 μ‚¬μš©ν•˜μ—¬ μˆœκ°„μ„ 묢을 λ•Œλ„ 이와 λ™μΌν•œ κ²½κ³ κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€. 이 였λ₯˜κ°€ μ–Έμ œ λ„μž…λ˜μ—ˆλŠ”μ§€ μ•„μ‹­λ‹ˆκΉŒ?

angular-cli λͺ¨λ“  μ†”λ£¨μ…˜μ„ μ‚¬μš©ν•˜μ—¬ λ™μΌν•œ κ²½κ³ κ°€ μžˆμŠ΅λ‹ˆκΉŒ?

같은 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. ν•΄κ²° 방법/μˆ˜μ • 사항을 μ•Œκ³  μžˆμŠ΅λ‹ˆκΉŒ?

λ™μΌν•œ 문제 - './locale' λŒ€ '../locale'의 경둜 문제처럼 λ³΄μž…λ‹ˆλ‹€. 이 버그λ₯Ό μ‘°μ‚¬ν•˜λŠ” μ‚¬λžŒμ΄ μžˆμŠ΅λ‹ˆκΉŒ?

https://github.com/moment/moment/issues/2979

λͺ‡ λ…„ λ™μ•ˆ 그랬던 것 같은데 μ™œ 고쳐주지 μ•ŠλŠ”μ§€ λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. webpack μ—μ„œ main λŒ€μ‹ 

es6 μ½”λ“œλ₯Ό μ μ ˆν•˜κ²Œ λ³€ν™˜ν•œ λ‹€λ₯Έ νŒ¨ν‚€μ§€μ— λŒ€ν•΄ webpackμ—μ„œ jsnext:main 을 계속 μ‚¬μš©ν•˜λŠ”

... resolve: { alias: { moment$: path.resolve(root_dir, "node_modules/moment/moment.js") } }

μœ„μ˜ 방법은 νš¨κ³Όκ°€ μ—†μ—ˆμ§€λ§Œ 이 νŠœν† λ¦¬μ–Όμ„ λ”°λ₯΄λ©΄ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 데 도움이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

https://alligator.io/angular/custom-webpack-config/

이것에 λŒ€ν•΄ μƒˆλ‘œμš΄ 것이 μžˆμŠ΅λ‹ˆκΉŒ? λ‚˜λŠ” Laravel Mixλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€ ... μ—¬κΈ°μ—μ„œλ„ λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€ ...

κ·Έλ ‡λ‹€

import * as moment from 'moment';

μž‘λ™ν•©λ‹ˆλ‹€.

κ·Έλ ‡λ‹€

import * as moment from 'moment';

μž‘λ™ν•©λ‹ˆλ‹€.

μ›ΉνŒ© λ‚΄λΆ€? Laravel Mix 둜

@marcelogarbin 였 μ£„μ†‘ν•©λ‹ˆλ‹€ 버전 4 μ΄ν›„λ‘œ Laravel을 μ—‰λ§μœΌλ‘œ λ§Œλ“€μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. μ£„μ†‘ν•˜μ§€λ§Œ .λ‚˜λŠ” Laravel mix와 ν•¨κ»˜ μž‘λ™ν•˜κ²Œ ν•˜λŠ” 방법을 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

μ•„λž˜μ™€ 같이 import ν•˜λ©΄ λ©λ‹ˆλ‹€.

'μˆœκ°„/μˆœκ°„'μ—μ„œ μˆœκ°„μ„ κ°€μ Έμ˜΅λ‹ˆλ‹€.

@yaasinhamidi 의 μ†”λ£¨μ…˜μ΄ νŠΈλ¦­μ„ μˆ˜ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.

κ·Έλ ‡λ‹€

import * as moment from 'moment';

μž‘λ™ν•©λ‹ˆλ‹€.

이 쀄은 어디에 λ„£μ–΄μ•Ό ν• κΉŒμš”?

2.25.0으둜 μ—…λ°μ΄νŠΈν•œ ν›„ 처음으둜 이와 λ™μΌν•œ 문제λ₯Ό κ²½ν—˜ν–ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” λ˜ν•œ Laravel Mixλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€(참고둜, 이전 λ²„μ „μ—μ„œλŠ” 이 문제λ₯Ό κ²½ν—˜ν•œ 적이 μ—†μŠ΅λ‹ˆλ‹€).

λ‚΄ ν•΄κ²° 방법은 2.24.0으둜 λŒμ•„κ°€λŠ” κ²ƒμž…λ‹ˆλ‹€.

μ—…λ°μ΄νŠΈ 후에도 같은 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€

이 λ¬Έμ œκ°€ 해결될 λ•ŒκΉŒμ§€ v2.24.0으둜 λ‘€λ°±ν•˜λ©΄ 이 λ¬Έμ œκ°€ ν•΄κ²°λ©λ‹ˆλ‹€.

v.2.24.0으둜 λ‘€λ°±ν•˜λŠ” 것도 νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

이 λ¬Έμ œκ°€ λ°œμƒν•˜λŠ” λ‹€λ₯Έ μ‚¬λžŒμ„ μœ„ν•΄ λ‚΄ node_modules/ ν΄λ”μ˜ λ‹€λ₯Έ νŒ¨ν‚€μ§€κ°€ v2.24.0에 λŒ€ν•œ μ’…μ†μ„±μœΌλ‘œ κ°€μ Έμ˜¨ μˆœκ°„ 버전도 κ°•μ œ μ‹€ν–‰ν•΄μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€.

원사λ₯Ό μ‚¬μš©ν•˜μ—¬μ΄ 쀄을 package.json에 μΆ”κ°€ν•˜μ—¬ λ‚˜λ₯Ό μœ„ν•΄ μ •λ ¬ν–ˆμŠ΅λ‹ˆλ‹€.

"resolutions": {
        "**/moment": "2.24.0"
    },

μ•ˆλ…•ν•˜μ„Έμš” μ—¬λŸ¬λΆ„!
λ‚˜λŠ” μ§€λ‚œ λͺ‡ μ‹œκ°„ λ™μ•ˆ 같은 λ¬Έμ œμ— μ§λ©΄ν–ˆκ³  λ§ˆμΉ¨λ‚΄ λͺ¨λ©˜νŠΈ 버전을 λ³€κ²½ν•˜μ—¬ ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

μœ„μ˜ μ˜κ²¬μ—μ„œ μ΅œμ’… μ†”λ£¨μ…˜μ„ λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

이유:
_μˆœκ°„ 2.24.0μ—μ„œ 2.25.0으둜 17μ‹œκ°„ 전에 μƒˆ 버전을 μΆœμ‹œ_

ν•΄κ²°μ±…:
1단계: 버전 λ³€κ²½

  • "μˆœκ°„": "2.24.0",
  • "μˆœκ°„-μ‹œκ°„λŒ€": "^0.5.28",

2단계: 원사λ₯Ό μ‚¬μš©ν•˜λŠ” 경우 λ‹€μŒκ³Ό 같이 package.json νŒŒμΌμ— 해상도λ₯Ό μΆ”κ°€ν•˜μ„Έμš”.
"쒅속성" {
"μˆœκ°„": "2.24.0",
"μˆœκ°„-μ‹œκ°„λŒ€": "^0.5.28"
},
"ν•΄κ²°μ±…": {
"μˆœκ°„": "2.24.0"
},

감사 ν•΄μš”.

가지고 μžˆμ–΄λ„ λ‹€μŒ 블둝. package-lock.json은 μƒˆ 버전, 즉 2.5.1을 μƒμ„±ν•©λ‹ˆλ‹€. λ”°λΌμ„œ λ¬Έμ œκ°€ 해결될 λ•ŒκΉŒμ§€ "moment": "2.24.0"으둜 λ³€κ²½ν•˜μ‹­μ‹œμ˜€.
"쒅속성" {
"μˆœκ°„": "^2.24.0", ----------------> "μˆœκ°„": "2.24.0"
},

2.24.0으둜 λ‘€λ°±ν–ˆμ§€λ§Œ λ…Έλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” λ™μ•ˆ μ—¬μ „νžˆ λ™μΌν•œ κ²½κ³ κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

μ΄μƒν•˜κ²Œλ„ 쒅속성을 λ‹€μ‹œ μ„€μΉ˜ν•œ ν›„ 였늘 이 였λ₯˜κ°€ λ°œμƒν•˜κΈ° μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€. webpack으둜 λ‘œμΌ€μΌ ν”ŒλŸ¬κ·ΈμΈμ„ λ¬΄μ‹œν•˜λŠ” μ œμ•ˆλœ μˆ˜μ • 사항이 μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. νš¨κ³Όκ°€ μžˆμ—ˆλ˜ 것은 @sachins81이 μ œμ•ˆν•œ λŒ€λ‘œ 버전을 2.24.0으둜 κ³ μ •ν•œ μƒνƒœλ‘œ λ‘λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€. 졜근 μ»€λ°‹μ—μ„œ κ΄€λ ¨ 사항이 λ³€κ²½λ˜μ—ˆλŠ”μ§€ κΆκΈˆν•©λ‹ˆλ‹€. @ichernev

2.24.0으둜 λ‘€λ°±ν–ˆμ§€λ§Œ λ…Έλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” λ™μ•ˆ μ—¬μ „νžˆ λ™μΌν•œ κ²½κ³ κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.
@nitindevelopermca "^2.24.0"이 μ•„λ‹ˆλΌ "2.24.0"인지 ν™•μΈν•˜μ‹­μ‹œμ˜€. (λ³€κ²½ ν›„ λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆμŠ΅λ‹ˆλ‹€)

방금 "^2.18.1"둜 λ‘€λ°±ν–ˆλŠ”λ° λͺ¨λ“  것이 잘 μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

λ°˜μ‘μ„ μ‚¬μš©ν•˜λŠ” λ™μΌν•œ 문제, μˆœκ°„μ€ λ‚΄ ν”„λ‘œμ νŠΈμ˜ 쒅속성이 μ•„λ‹ˆλ―€λ‘œ λ‘€λ°±ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

λ°˜μ‘μ„ μ‚¬μš©ν•˜λŠ” λ™μΌν•œ 문제, μˆœκ°„μ€ λ‚΄ ν”„λ‘œμ νŠΈμ˜ 쒅속성이 μ•„λ‹ˆλ―€λ‘œ λ‘€λ°±ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

μ§€κΈˆμ€ 이 λͺ…령을 μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

npm install [email protected] --save

λ‚˜λŠ” 같은 경우λ₯Ό κ²ͺμ—ˆκ³  μ–΄λ–»κ²Œ λ“  검색 ν•  λ•Œ antdκ°€ μˆœκ°„μ„ μ’…μ†μ„±μœΌλ‘œ μ‚¬μš©ν•˜κ³  μžˆμ—ˆκ³  그듀이 μƒˆ 버전을 μΆœμ‹œ ν•œ 것을 λ³΄λŠ” λ™μ•ˆ μˆœκ°„ λ¬Έμ œκ°€ λ‹€μŒ λ¦΄λ¦¬μŠ€μ—μ„œ μ’…λ£Œλ˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€. λ”°λΌμ„œ λ¨Όμ € 2.25.1 인 μ΅œμ‹  버전을 μ‹œλ„ν•˜μ‹­μ‹œμ˜€. μˆœκ°„μ„ μ’…μ†μ„±μœΌλ‘œ μΆ”κ°€ν•˜μ‹­μ‹œμ˜€.

감사 ν•΄μš”!

dependencies 내뢀와 resolutions λ‚΄λΆ€μ˜ κ³ μ • 버전 2.24.0 으둜 λ³€κ²½ν•˜λŠ” 데 도움이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ‚΄ μ½”λ“œ λ‚΄μ—μ„œ react 및 antd 의 μ’…μ†μ„±μœΌλ‘œ νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

μ—¬λŸ¬ μž‘μ—… 곡간이 μžˆλŠ” 경우 λͺ¨λ“  package.json νŒŒμΌμ„ λ³€κ²½ν•˜λŠ” 것을 μžŠμ§€ λ§ˆμ‹­μ‹œμ˜€. λ‚˜λŠ” μ²˜μŒμ— 이것을 μžŠμ—ˆλ‹€.

v2.25.1μ—μ„œ λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν•œ λ‹€μŒ package.json(λ‚˜λŠ” yarn을 μ‚¬μš©)에 λ‹€μŒμ„ μΆ”κ°€ν•˜λ €κ³  ν•©λ‹ˆλ‹€.

"dependencies" {
  "moment": "2.24.0"
},
"resolutions": {
  "moment": "2.24.0"
},

여기에 같은 였λ₯˜κ°€ μžˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” ν—€ν—€

"dependencies": {
    "moment": "^2.25.1"
}

npm run production μ‹€ν–‰ν•˜λ©΄ λ‹€μŒμ„ μ–»μŠ΅λ‹ˆλ‹€.
shell script WARNING in ./node_modules/moment/src/lib/locale/locales.js Module not found: Error: Can't resolve './locale' in '/var/www/apf.local/html/node_modules/moment/src/lib/locale' @ ./node_modules/moment/src/lib/locale/locales.js @ ./node_modules/moment/src/lib/locale/locale.js @ ./node_modules/moment/src/moment.js @ ./resources/js/app.js @ multi ./resources/js/app.js

~2.24.0 λ²„μ „μ—μ„œλŠ” λͺ¨λ“  것이 μ˜ˆμƒλŒ€λ‘œ μž‘λ™ν•©λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” μ—¬λŸ¬λΆ„!
λ‚˜λŠ” μ§€λ‚œ λͺ‡ μ‹œκ°„ λ™μ•ˆ 같은 λ¬Έμ œμ— μ§λ©΄ν–ˆκ³  λ§ˆμΉ¨λ‚΄ λͺ¨λ©˜νŠΈ 버전을 λ³€κ²½ν•˜μ—¬ ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

μœ„μ˜ μ˜κ²¬μ—μ„œ μ΅œμ’… μ†”λ£¨μ…˜μ„ λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

이유:
_μˆœκ°„ 2.24.0μ—μ„œ 2.25.0으둜 17μ‹œκ°„ 전에 μƒˆ 버전을 μΆœμ‹œ_

ν•΄κ²°μ±…:
1단계: 버전 λ³€κ²½

  • "μˆœκ°„": "2.24.0",
  • "μˆœκ°„-μ‹œκ°„λŒ€": "^0.5.28",

2단계: 원사λ₯Ό μ‚¬μš©ν•˜λŠ” 경우 λ‹€μŒκ³Ό 같이 package.json νŒŒμΌμ— 해상도λ₯Ό μΆ”κ°€ν•˜μ„Έμš”.
"쒅속성" {
"μˆœκ°„": "2.24.0",
"μˆœκ°„-μ‹œκ°„λŒ€": "^0.5.28"
},
"ν•΄κ²°μ±…": {
"μˆœκ°„": "2.24.0"
},

감사 ν•΄μš”.

μ•„λž˜μ™€ 같이 import ν•˜λ©΄ λ©λ‹ˆλ‹€.

'μˆœκ°„/μˆœκ°„'μ—μ„œ μˆœκ°„μ„ κ°€μ Έμ˜΅λ‹ˆλ‹€.

μ—„μ²­λ‚œ! νš¨κ³Όκ°€μžˆλ‹€!

감사 ν•΄μš” .
잘 μž‘λ™ν•©λ‹ˆλ‹€. μ•„λž˜ 쀄을 κ°€μ Έμ˜€κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€.
* 'μˆœκ°„/μˆœκ°„'μ—μ„œ μˆœκ°„μœΌλ‘œ κ°€μ Έμ˜€κΈ°;

μ•„λž˜μ™€ 같이 import ν•˜λ©΄ λ©λ‹ˆλ‹€.

'μˆœκ°„/μˆœκ°„'μ—μ„œ μˆœκ°„μ„ κ°€μ Έμ˜΅λ‹ˆλ‹€.

ν™˜μƒμ μΈ μˆ˜μ • :) μ΄κ²ƒμœΌλ‘œ μ£Όμš” 두톡을 ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

Fantastic fix :) solved a major headache with this

λˆ„κ΅°κ°€κ°€ antdλ₯Ό μ’…μ†μ„±μœΌλ‘œ 직접 가지고 μžˆμ§€ μ•Šμ€ 경우 ν‰λ²”ν•œ μˆ˜μ •μž…λ‹ˆλ‹€.

λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμ§€λ§Œ 쒅속성에 momentjsκ°€ μ—†μŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ κ°œλ―ΈλŠ” μ•ŠμŠ΅λ‹ˆλ‹€.
그리고 npm은 ν•΄μƒλ„μ—μ„œ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ§€κΈˆ λ‚˜λ₯Ό μœ„ν•œ μœ μΌν•œ 해결책은 antdλ₯Ό λ‹€μš΄κ·Έλ ˆμ΄λ“œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.
μž‘μ—…μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ μΆ”κ°€ νŒ¨ν‚€μ§€λ₯Ό ν¬ν•¨ν•˜μ§€ μ•ŠλŠ” μ μ ˆν•œ μ†”λ£¨μ…˜μ„ λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€.

μ–΄λ–€ 이유둜 κ°‘μžκΈ° λ‚˜νƒ€λ‚˜κΈ° μ‹œμž‘ν•œ React 앱에도 λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 이 μ•±μ—μ„œ moment λ₯Ό μ˜μ›νžˆ μ‚¬μš©ν•΄ μ™”μœΌλ©° 이 였λ₯˜λ₯Ό λ³Έ 적이 μ—†μŠ΅λ‹ˆλ‹€. 이 문제둜 인해 React 앱이 μ»΄νŒŒμΌλ˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— μ‹€μ œλ‘œ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

그런 λ‹€μŒ 컴파일 문제λ₯Ό ν•΄κ²°ν•œ import moment from 'moment/moment'; 을 μ‹œλ„ν–ˆμ§€λ§Œ μ—¬μ „νžˆ 앱을 μ‹€ν–‰ν•  λ•Œλ§ˆλ‹€ λ‹€μŒ κ²½κ³ κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€.

./node_modules/moment/src/lib/locale/locales.js
Module not found: Can't resolve './locale' in 'C:\Users\myname\source\repos\myapp\node_modules\moment\src\lib\locale'

μœ μΌν•œ μ ˆμ•½ μ€ν˜œλŠ” 적어도 λ‚΄ React 앱이 잘 컴파일되고 μ‹€ν–‰λœλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

create-react-app(typescript ν…œν”Œλ¦Ώ)에도 λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. import moment from 'moment'; μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€. 그런 λ‹€μŒ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.
./node_modules/moment/src/lib/locale/locales.js Module not found: Can't resolve './locale' in 'D:\MyName\Learning\ProjectName\node_modules\moment\src\lib\locale'

@devayarhlaine μœ„μ˜ λŒ“κΈ€μ— μž„μ‹œ μ†”λ£¨μ…˜μ„ κ²Œμ‹œν–ˆμŠ΅λ‹ˆλ‹€. ν™•μΈν•˜μ‹­μ‹œμ˜€.

그것은 μˆœκ°„ μƒˆ 버전 λ¬Έμ œμ˜€μŠ΅λ‹ˆλ‹€.

μœ„μ™€ 동일:
"λͺ¨λ“ˆ 'μˆœκ°„'을 찾을 수 μ—†μŒ"κ³Ό λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.
"import * as moment from 'moment/moment''와 ν•¨κ»˜ μ†”λ£¨μ…˜μ„ μ‚¬μš©ν•˜λ©΄ ν•œ 가지 λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
ν•˜μ§€λ§Œ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.
./node_modules/moment/src/lib/locale/locales.js λͺ¨λ“ˆμ„ 찾을 수 μ—†μŒ: 'D:\MyName\Learning\ProjectName\node_modulesmoment\src\lib\locale'μ—μ„œ './locale'을 확인할 수 μ—†μŠ΅λ‹ˆλ‹€.
λ‹€μš΄κ·Έλ ˆμ΄λ“œλŠ” 해결책이 μ•„λ‹™λ‹ˆλ‹€(제 μƒκ°μ—λŠ” :-).

Angular 8μ—μ„œ Angular 9.1둜 μ—…κ·Έλ ˆμ΄λ“œν•  λ•Œ 이 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.
moment 2.25.1둜 μ—…κ·Έλ ˆμ΄λ“œν•˜λ©΄ 문제 #5486("TS2307: 'moment' λͺ¨λ“ˆμ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. ")이 ν•΄κ²°λ˜μ—ˆμ§€λ§Œ λ‘œμΌ€μΌ 였λ₯˜κ°€ 남아 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

"yarn create react-app", μˆ˜μ •μ€ node_modules/react-scripts/config/webpack.config.jsλ₯Ό νŽΈμ§‘ν•˜μ—¬ μ•„λž˜μ™€ 같이 별칭을 μΆ”κ°€ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

moment$: 'moment/moment.js'

μœ„μ˜ 라인을 라인 번호 311의 alias 블둝에 μ‚½μž…ν•˜μ‹­μ‹œμ˜€.

alias: {
  // Support React Native Web
  // https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/
  'react-native': 'react-native-web',
  // Allows for better profiling with ReactDevTools
  ...(isEnvProductionProfile && {          'react-dom$': 'react-dom/profiling',
  'scheduler/tracing': 'scheduler/tracing-profiling',        }),
  ...(modules.webpackAliases || {}),        
  moment$: 'moment/moment.js'
},

이λ₯Ό ν•΄κ²°ν•˜λŠ” 또 λ‹€λ₯Έ 방법은 moment.jsλ₯Ό Day.js둜 λ°”κΎΈλŠ” κ²ƒμž…λ‹ˆλ‹€. 이 URL의 지침에 따라 react-app-rewired >> https://ant.design/docs/react/use-with-create-react-app 을 μ‚¬μš© https://github.com/ant-design/antd-dayjs-webpack-plugin 에 따라 231.11kbμ—μ„œ 11.11kb둜 jsλ₯Ό μΆ•μ†Œν•˜λŠ” 이점이

const { override, addWebpackPlugin } = require('customize-cra');    
const AntdDayjsWebpackPlugin = require('antd-dayjs-webpack-plugin');

module.exports = override(
        addWebpackPlugin(new AntdDayjsWebpackPlugin())
);

μ•„λž˜μ™€ 같이 import ν•˜λ©΄ λ©λ‹ˆλ‹€.

'μˆœκ°„/μˆœκ°„'μ—μ„œ μˆœκ°„μ„ κ°€μ Έμ˜΅λ‹ˆλ‹€.

ν™˜μƒμ μΈ μˆ˜μ •!!!

μ•„λž˜μ™€ 같이 import ν•˜λ©΄ λ©λ‹ˆλ‹€.

'μˆœκ°„/μˆœκ°„'μ—μ„œ μˆœκ°„μ„ κ°€μ Έμ˜΅λ‹ˆλ‹€.

λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆλ‹€

package.json (https://github.com/moment/moment/commit/9ce89e7fea881b39be23b8c0646f7ef7817985d9)의 "module" ν•„λ“œλ‘œ 인해 λ¬Έμ œκ°€ λ°œμƒν•œ 것 κ°™μŠ΅λ‹ˆλ‹€.

μˆ˜μ •ν•˜κΈ° μœ„ν•œ ν™λ³΄μž…λ‹ˆλ‹€. https://github.com/moment/moment/pull/5503

그래, 제거 "module": "./src/moment.js", μ—μ„œ package.json κ²½κ³  λ‚˜λ₯Ό μœ„ν•΄ 멀리 μ΄λ™ν–ˆλ‹€. BTW, λ‚΄ 것은 React μ•± -- create-react-app 이고 "moment": "^2.25.1" μžˆμŠ΅λ‹ˆλ‹€. μ΅œμ‹  버전을 μ‚¬μš©ν–ˆλŠ”λ°λ„ 이 였λ₯˜κ°€ 계속 λ°œμƒν–ˆμ§€λ§Œ package.json μ—…λ°μ΄νŠΈν•˜λ©΄ λ¬Έμ œκ°€ ν•΄κ²°λ˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. @ApacheEx 감사

λ‚˜λŠ” 적어도 λ‚˜λ₯Ό μœ„ν•΄μ΄ 였λ₯˜λ₯Ό μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” node_modules/moment/src/lib/locale/에 κ°”λ‹€.
locales.js 파일, ctrl+f 및 검색 './locale'+name 라인을 μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.
'./'+name λ³€κ²½ν•©λ‹ˆλ‹€.
λ™μΌν•œ 폴더와 '/.locale' + 이름을 κ°€λ¦¬ν‚€λŠ” 이유λ₯Ό λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. 이것이 였λ₯˜κ°€ ./locale을 ν•΄κ²°ν•  수 μ—†λ‹€λŠ” λ©”μ‹œμ§€κ°€ ν‘œμ‹œλ˜λŠ” μ΄μœ μž…λ‹ˆλ‹€.

μ†”μ§νžˆ λ§ν•΄μ„œ, λ‚˜λŠ” λ―Έλž˜μ— 였λ₯˜κ°€ λ‚˜νƒ€λ‚˜λ©΄ μ›λž˜ 쀄을 λ³΅μ‚¬ν•˜κ³  λ°”λ‘œ μœ„μ— 주석을 λ‹¬μ•˜μŠ΅λ‹ˆλ‹€.

도움이 λ˜μ—ˆλ‹€λ©΄ 엄지손가락을 μΉ˜μΌœμ„Έμ›λ‹ˆλ‹€. 이런 였λ₯˜κ°€ 더 μ‹¬ν•˜λ‹€...

λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν•˜μ—¬ μˆ˜μ • 사항을 μ‚¬μš©ν•  수 μžˆμ„ λ•ŒκΉŒμ§€ 2.24둜 λ˜λŒλ ΈμŠ΅λ‹ˆλ‹€. μžλ™ μ„œλ²„μ—μ„œ λΉŒλ“œ μ€‘μ΄λ―€λ‘œ λͺ¨λ“ˆ νŒŒμΌμ„ νŽΈμ§‘ν•  수 μ—†μœΌλ―€λ‘œ 정식 릴리슀λ₯Ό 기닀리고 μžˆμŠ΅λ‹ˆλ‹€.

2.24 및 2.25.1 버전과 λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.
WARNING in ./node_modules/moment/src/lib/locale/locales.js

λΈŒλΌμš°μ € μ½˜μ†”μ„ μ—΄λ©΄ λ‹€μŒ 였λ₯˜κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€.
TypeError: Cannot read property 'defineLocale' of undefined at locales.min.js:1

μš°λ¦¬λŠ” μˆœκ°„ 2.22와 같은 문제λ₯Ό κ²ͺκ³  μžˆμŠ΅λ‹ˆλ‹€

μ•„λž˜μ™€ 같이 import ν•˜λ©΄ λ©λ‹ˆλ‹€.

'μˆœκ°„/μˆœκ°„'μ—μ„œ μˆœκ°„μ„ κ°€μ Έμ˜΅λ‹ˆλ‹€.

이 쀄은 어디에 λ„£μ–΄μ•Ό ν• κΉŒμš”?

μ•„λž˜μ™€ 같이 import ν•˜λ©΄ λ©λ‹ˆλ‹€.
'μˆœκ°„/μˆœκ°„'μ—μ„œ μˆœκ°„μ„ κ°€μ Έμ˜΅λ‹ˆλ‹€.

이 쀄은 어디에 λ„£μ–΄μ•Ό ν• κΉŒμš”?

μ›ν•˜λŠ” νŒŒμΌμ—μ„œ μ•„λž˜μ™€ 같이 ecmascriptμ—μ„œ momentjsλ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€.

import moment from 'moment/moment';
(() => {
const now = moment(moment.now());
console.log(now);
})

2.25.3μ—μ„œ 이 문제λ₯Ό μˆ˜μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.
μ—¬μ „νžˆ λ¬Έμ œκ°€ μžˆλŠ” 경우 λ‹€λ₯Έ 문제λ₯Ό μ—¬μ‹­μ‹œμ˜€.
λ˜λŠ” 더 λ§Žμ€ κ°œλ³„ μ§ˆλ¬Έμ— λŒ€ν•΄ μŠ€νƒ μ˜€λ²„ν”Œλ‘œ λ₯Ό μ‹œλ„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

WebPack ꡬ성이 μžˆλŠ” 이 별칭은 문제λ₯Ό ν•΄κ²°ν•©λ‹ˆλ‹€.

resolve: {
  extensions: ['.js', '.ts'],
  alias: {
    './locale': 'moment/locale'
  }
}

μˆœκ°„ μ‹œκ°„λŒ€λ₯Ό μ‚¬μš©ν•˜λŠ” 경우:
https://github.com/moment/moment-timezone/issues/837

λ‚˜λŠ” 이것을 κ³ μΉœλ‹€:

import moment from 'moment'; import 'moment/locale/pt-br';

μž‘λ™ν•˜κ³  λ‘œμΌ€μΌμ΄ 'pt-br'둜 μ„€μ •λ˜λ©° λ‹€λ₯Έ λͺ¨λ“  언어도 μž‘λ™ν•©λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰