Moment: Webpack - μ€‘μš”ν•œ 쒅속성: 쒅속성 μš”μ²­μ€ 2.25.0의 ν‘œν˜„μ‹μž…λ‹ˆλ‹€.

에 λ§Œλ“  2020λ…„ 05μ›” 01일  Β·  35μ½”λ©˜νŠΈ  Β·  좜처: moment/moment

였늘 아침에 λ‚˜λŠ” μˆœκ°„μ„ 2.24.0μ—μ„œ 2.25.0으둜 μ—…κ·Έλ ˆμ΄λ“œν–ˆκ³  Webpack λΉŒλ“œμ—μ„œ 이 κ²½κ³ λ₯Ό λ°›κΈ° μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€.
Critical dependency: the request of a dependency is an expression

λ‚΄κ°€ μ‚¬μš©ν•˜λŠ” 버전:
κΏ€κΊ½ - 4.0.2
μ›ΉνŒ© - 4.43.0
바벨 - 7.9.6

κ·Έ 사이에 λ‹€λ₯Έ μ—…λ°μ΄νŠΈκ°€ λ°œμƒν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. moment.js만 μ—…λ°μ΄νŠΈλ˜κ³  κ²½κ³ κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

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

μ—¬κΈ°μ—μ„œλ„ λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€. νŒ¨ν‚€μ§€ 버전을 2.24.0으둜 잠그면 μ§€κΈˆμ€ 도움이 λ©λ‹ˆλ‹€...

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

같은 문제

같은 문제
라라벨 vue 앱에 momentλ₯Ό μ„€μΉ˜ν•œ ν›„
WARNING in ./node_modules/moment/src/lib/locale/locales.js 78:12-82:13 Critical dependency: the request of a dependency is an expression @ ./node_modules/moment/src/lib/locale/locale.js @ ./node_modules/moment/src/moment.js @ ./resources/js/app.js @ multi ./resources/js/app.js ./resources/sass/app.scss

μ—¬κΈ°μ—μ„œλ„ λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€. νŒ¨ν‚€μ§€ 버전을 2.24.0으둜 잠그면 μ§€κΈˆμ€ 도움이 λ©λ‹ˆλ‹€...

여기도 같은 문제! λΉ„νŒμ μΈ!

λ‚˜λŠ” 같은 λ¬Έμ œκ°€ μžˆμ—ˆλ‹€! 광산을 2.24.0으둜 잠그고 λ‚΄ λΉŒλ“œλ₯Ό μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

파견

여기도 λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€. 2.25.0은 이 문제λ₯Ό μ œκ³΅ν•˜μ§€λ§Œ 2.24.0은 μ œκ³΅ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. moment.js의 2092:16-2096:17 λ³€κ²½ 사항이 λ£¨νŠΈμž…λ‹ˆλ‹€.

같은 λ¬Έμ œμ§€λ§Œ μ΄μƒν•˜κ²Œλ„ dev둜 μ‹€ν–‰ν•  λ•Œλ§Œ(이것은 nuxt ν”„λ‘œμ νŠΈμž„) λ¬Έμ œλŠ” src/lib/locale/locales.js 라인 78 - 82,

λ°”κΎΈλ‹€:
```μžλ°”μŠ€ν¬λ¦½νŠΈ
별칭 ν•„μš”(
(μœ ν˜• __dirname !== μ •μ˜λ˜μ§€ μ•ŠμŒ ? __dirname : '.') +
'/λ‘œμΌ€μΌ/' +
이름
);
to: μžλ°”μŠ€ν¬λ¦½νŠΈ
aliasedRequire('../locale/' + 이름);
````
문제 ν•΄κ²°

λ‚΄ μ„€μ •μœΌλ‘œ dev 및 prod λΉŒλ“œ λͺ¨λ‘μ—μ„œ μ–»μŠ΅λ‹ˆλ‹€.

μ—¬κΈ°μ—μ„œλ„ λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€. νŒ¨ν‚€μ§€ 버전을 2.24.0으둜 잠그면 μ§€κΈˆμ€ 도움이 λ©λ‹ˆλ‹€...

예, 그것은 λͺ…λ°±ν•œ ν•΄κ²° λ°©λ²•μ΄μ§€λ§Œ μ‹€μ œλ‘œ 해결책은 μ•„λ‹™λ‹ˆλ‹€ :-).

moment.format() 을 ν˜ΈμΆœν•˜λŠ” λ™μ•ˆ 각도 μ‘μš© ν”„λ‘œκ·Έλž¨μš© μ›Ή λΈŒλΌμš°μ €μ—μ„œ λ™μΌν•œ κ²½κ³ κ°€ ν‘œμ‹œλ˜κ³  λ‹€μŒκ³Ό 같은 μ½˜μ†” 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

ERROR TypeError: __WEBPACK_IMPORTED_MODULE_2_moment__ is not a function
(main.bundle.js:11539)
Show 102 more frames

여기도 λ§ˆμ°¬κ°€μ§€

μ—­μ‹œ 확인

μž μ‹œλ§Œμš”. 이것은 였λ₯˜κ°€ μ•„λ‹ˆλΌ κ²½κ³ μž…λ‹ˆλ‹€. μ—¬μ „νžˆ λ²ˆλ“€μ„ μƒμ‚°ν•©λ‹ˆκΉŒ?

2.25.0 μˆœκ°„:

% ./node_modules/.bin/webpack
Hash: 42b60d02778538c038dc
Version: webpack 4.43.0
Time: 497ms
Built at: 05/01/2020 4:56:43 PM
    Asset      Size  Chunks             Chunk Names
bundle.js  72.2 KiB       0  [emitted]  main
Entrypoint main = bundle.js
[13] ./node_modules/moment/src/lib/units/month.js + 1 modules 9.92 KiB {0} [built]
     |    2 modules
[26] ./node_modules/moment/src/lib/create/valid.js + 1 modules 1.88 KiB {0} [built]
     |    2 modules
[36] ./node_modules/moment/src/lib/create/from-anything.js + 8 modules 25.1 KiB {0} [built]
     |    9 modules
[46] (webpack)/buildin/harmony-module.js 573 bytes {0} [built]
[47] ./node_modules/moment/src/lib/locale sync 160 bytes {0} [optional] [built]
[48] ./src/index.js + 54 modules 84.6 KiB {0} [built]
     | ./src/index.js 62 bytes [built]
     |     + 54 hidden modules
    + 43 hidden modules

WARNING in ./node_modules/moment/src/lib/locale/locales.js 78:12-82:13
Critical dependency: the request of a dependency is an expression
 @ ./node_modules/moment/src/lib/locale/locale.js
 @ ./node_modules/moment/src/moment.js
 @ ./src/index.js

WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment.
You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/configuration/mode/

그리고 그것은 μž‘λ™ν•©λ‹ˆλ‹€.

[email protected]으둜 :

% ./node_modules/.bin/webpack
Hash: c16dbd62d51ed42203b2
Version: webpack 4.43.0
Time: 559ms
Built at: 05/01/2020 4:58:27 PM
    Asset     Size  Chunks                    Chunk Names
bundle.js  263 KiB       0  [emitted]  [big]  main
Entrypoint main [big] = bundle.js
[128] ./src/index.js 62 bytes {0} [built]
[129] (webpack)/buildin/module.js 497 bytes {0} [built]
[130] ./node_modules/moment/locale sync ^\.\/.*$ 3 KiB {0} [optional] [built]
    + 128 hidden modules

WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment.
You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/configuration/mode/

WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets: 
  bundle.js (263 KiB)

WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
  main (263 KiB)
      bundle.js


WARNING in webpack performance recommendations: 
You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
For more info visit https://webpack.js.org/guides/code-splitting/

그리고 그것은 μ—¬μ „νžˆ β€‹β€‹μž‘λ™ν•©λ‹ˆλ‹€.

μž μ‹œλ§Œμš”. 이것은 였λ₯˜κ°€ μ•„λ‹ˆλΌ κ²½κ³ μž…λ‹ˆλ‹€. μ—¬μ „νžˆ λ²ˆλ“€μ„ μƒμ‚°ν•©λ‹ˆκΉŒ?

λ„€, κ·Έλ ‡μŠ΅λ‹ˆλ‹€. μ—¬μ „νžˆ μ„±κ°€μ‹œκ³  잘λͺ»λ˜μ—ˆμœΌλ©° λΉŒλ“œ 좜λ ₯을 엉터리 ν”μ μœΌλ‘œ 가득 μ±„μ› μŠ΅λ‹ˆλ‹€.

λ‚˜λ„ 이것을 보고 μžˆμ§€λ§Œ 우리 CIλ₯Ό ν†΅ν•œ ν”„λ‘œλ•μ…˜ λΉŒλ“œμ—μ„œλ§Œ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

@jontybrook λ™μΌν•œ λ™μž‘μ„ 보고 μžˆμ—ˆμ§€λ§Œ node_modules 폴더에 핡을 넣은 ν›„ λ‘œμ»¬μ—μ„œ 이λ₯Ό μž¬ν˜„ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

react-native에 λŒ€ν•œ 문제λ₯Ό μˆ˜μ •ν•˜λ˜ __dirname μžˆλŠ” μ½”λ“œλ₯Ό λ˜λŒλ €μ•Ό (μ›ΉνŒ© μ‚¬μš©μž) 더 λ‚˜μ€ μ½˜μ†” 좜λ ₯을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

2.25.1μ—μ„œ μˆ˜μ •λ¨

이것은 더 λ‚˜μ€ μ½˜μ†” 좜λ ₯κ³ΌλŠ” 아무 관련이 μ—†μ§€λ§Œ... 였히렀 λ§Žμ€ μ‚¬λžŒλ“€μ„ μœ„ν•΄ μ΄μƒμ μœΌλ‘œ ν…ŒμŠ€νŠΈλœ μ½”λ“œ κΉ¨λŠ” λΉŒλ“œλ³΄λ‹€ μ μŠ΅λ‹ˆλ‹€!

λͺ‡ λΆ„ 전에 μˆ˜μ •λ˜μ–΄ κ²Œμ‹œλ˜μ—ˆλ‹€λŠ” μ†Œμ‹μ„ λ“£κ²Œ λ˜μ–΄ κΈ°μ©λ‹ˆλ‹€. μ§€λ‚œ λͺ‡ μ‹œκ°„ λ™μ•ˆ 원인을 찾으렀고 λ…Έλ ₯ν–ˆμŠ΅λ‹ˆλ‹€.

이것은 더 λ‚˜μ€ μ½˜μ†” 좜λ ₯κ³ΌλŠ” 아무 관련이 μ—†μ§€λ§Œ... 였히렀 λ§Žμ€ μ‚¬λžŒλ“€μ„ μœ„ν•΄ μ΄μƒμ μœΌλ‘œ ν…ŒμŠ€νŠΈλœ μ½”λ“œ κΉ¨λŠ” λΉŒλ“œλ³΄λ‹€ μ μŠ΅λ‹ˆλ‹€!

μ •ν™•νžˆ ! 였늘 κ²½κ³ λŠ” 내일 잠재적인 였λ₯˜μž…λ‹ˆλ‹€.

그것은 경고보닀 훨씬 더 λ‚˜λΉ΄μŠ΅λ‹ˆλ‹€ ... μš°μ—°νžˆ μ΅œμ‹  λ²„μ „μ˜ μˆœκ°„μ„ λ™μ μœΌλ‘œ κ°€μ Έ μ˜€λŠ” moment-timezone을 μ‹€ν–‰ν•˜κ³  μžˆλ‹€λ©΄ μ½”λ“œκ°€ μ™„μ „νžˆ κΉ¨μ‘ŒμŠ΅λ‹ˆλ‹€!

μž μ‹œλ§Œμš”. 이것은 였λ₯˜κ°€ μ•„λ‹ˆλΌ κ²½κ³ μž…λ‹ˆλ‹€. μ—¬μ „νžˆ λ²ˆλ“€μ„ μƒμ‚°ν•©λ‹ˆκΉŒ?

λ²ˆλ“€ μƒμ‚°λ§Œ μ›ν•˜λŠ” κ²°κ³Όκ°€ λ‚˜μ™”λ‹€λ©΄...

react-native에 λŒ€ν•œ 문제λ₯Ό μˆ˜μ •ν•˜λ˜ __dirname μžˆλŠ” μ½”λ“œλ₯Ό λ˜λŒλ €μ•Ό (μ›ΉνŒ© μ‚¬μš©μž) 더 λ‚˜μ€ μ½˜μ†” 좜λ ₯을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

2.25.1μ—μ„œ μˆ˜μ •λ¨

μ™œ ν’μž?! κΉ¨λ—ν•œ 좜λ ₯이 μ€‘μš”ν•©λ‹ˆλ‹€. λ‚΄ μ„€μ •μ—μ„œ λ‚˜μ—κ²Œ μ€‘μš”ν•œ 톡계와 λ©”νŠΈλ¦­μ„ λ„£μ—ˆκ³  λΆˆν•„μš”ν•œ κ²ƒλ“€λ‘œ 가득 μ°¨λ©΄ 읽기가 μ§€λ£¨ν•˜κ³  μ΅œμ†Œν•œ λ‚΄ μž‘μ—…μ΄ λŠλ €μ§‘λ‹ˆλ‹€. 그런 λ‹€μŒ κ²½κ³ λŠ” 항상 μž₯기적으둜 λ¬΄μ‹œν•΄μ„œλŠ” μ•ˆλ˜λŠ” κ²ƒμž…λ‹ˆλ‹€. λ§ˆμ§€λ§‰μ΄μ§€λ§Œ μ‹€μ œλ‘œλŠ” 첫 λ²ˆμ§Έμž…λ‹ˆλ‹€. @agrohsκ°€ λ³΄κ³ ν•œ λŒ€λ‘œ 일뢀 μ„€μ •μ—μ„œ μ‹€μ œλ‘œ μ€‘λ‹¨λ˜λŠ” κ²ƒμœΌλ‘œ λ‚˜νƒ€λ‚¬μŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ ... ν’μžλŠ” 여기에 잘 λ°°μΉ˜λ˜μ§€ μ•ŠλŠ”λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. κ·Έλž˜λ„ κ³ μ³μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.

이 λ¬Έμ œκ°€ ν•΄κ²°λ˜μ–΄ κΈ°μ©λ‹ˆλ‹€. 이후 λ²„μ „κΉŒμ§€ 2.24.0을 계속 μ‚¬μš©ν•˜κ±°λ‚˜ μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€... 배포 ν›„ 였늘 아침에 μ›Ή 앱이 κ³ μž₯λ‚œ 이유λ₯Ό νŒŒμ•…ν•˜λŠ” 데 λ„ˆλ¬΄ 였랜 μ‹œκ°„μ΄ κ±Έλ ΈμŠ΅λ‹ˆλ‹€.

"λ‹Ήμ‹ " μ›ΉνŒ© μ‚¬μš©μž... 일λͺ… μ›Ή μ•± 개발자의 큰 λΆ€λΆ„. ν˜„μž¬ μ›ΉνŒ© ν”„λ‘œμ„ΈμŠ€μ—μ„œ μ˜€λŠ” μΆ”κ°€ 데이터가 μ—†μœΌλ―€λ‘œ 더 λ‚˜μ€ μ½˜μ†” 좜λ ₯을 보고 싢지 μ•Šκ³  κ·Έλƒ₯ μž‘λ™ν•˜κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€.

μ—¬μ „νžˆ 문제 λ°œμƒ: https://github.com/moment/moment/issues/5472

react-native에 λŒ€ν•œ 문제λ₯Ό μˆ˜μ •ν•˜λ˜ __dirname μžˆλŠ” μ½”λ“œλ₯Ό λ˜λŒλ €μ•Ό (μ›ΉνŒ© μ‚¬μš©μž) 더 λ‚˜μ€ μ½˜μ†” 좜λ ₯을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

2.25.1μ—μ„œ μˆ˜μ •λ¨

λƒ‰μ†Œλ₯Ό μ œμ³λ‘κ³  v2.25.1은 μ‹€μ œλ‘œ 아무 것도 μˆ˜μ •ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€( Module not found κ²½κ³ λŠ” μ—¬μ „νžˆ μ‘΄μž¬ν•©λ‹ˆλ‹€). λ‚˜λŠ” 일반적으둜 μ‹œκ°„μ„ μžμ› λ΄‰μ‚¬ν•˜λŠ” μ˜€ν”ˆ μ†ŒμŠ€ κΈ°μ—¬μžλ“€μ— λŒ€ν•΄ λΉ„νŒμ μΈ νƒœλ„λ₯Ό μ·¨ν•˜λŠ” 것을 μ‚Όκ°€ν•˜μ§€λ§Œ, λ‹¨μˆœνžˆ 문제λ₯Ό λ³΄κ³ ν•˜λŠ” μ‚¬μš©μžμ— λŒ€ν•œ νƒœλ„λŠ” μ‚Όκ°€ν•΄ μ£Όμ‹­μ‹œμ˜€. 그리고 예, κ²½κ³ μ—λŠ” μ΄μœ κ°€ μžˆμŠ΅λ‹ˆλ‹€. 그것듀을 λ¬΄μ‹œν•˜λ©΄ λͺ¨λ“  μ’…λ₯˜μ˜ λ‹€λ₯Έ 정보가 흐렀지고 일반적으둜 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€.

이 λ¬Έμ œλŠ” λ‹«ν˜€μ„œλŠ” μ•ˆ λ©λ‹ˆλ‹€... μ›ΉνŒ©μ„ μ‚¬μš©ν•˜λŠ” μˆœκ°„ μ‹œκ°„λŒ€ μ‚¬μš©μžμ—κ²ŒλŠ” κ²½κ³  ν‘œμ‹œ 문제(그리고 μ—„μ²­λ‚˜κ²Œ λ§Žμ€ μ‚¬λžŒλ“€μ—κ²Œ 영ν–₯을 λ―ΈμΉ˜λŠ” 문제)κ°€ μ•„λ‹ˆλΌ λΈŒλ ˆμ΄ν‚Ή μ²΄μΈμ§€μž…λ‹ˆλ‹€.

같은 문제
2.25.0을 μˆ˜μ •ν•˜μ§€ μ•ŠμŒ
μˆ˜μ •ν•˜μ§€ μ•ŠμŒ 2.25.1
μˆ˜μ •ν•˜μ§€ μ•ŠμŒ 2.25.2

μ›λž˜ λ²„μ „μœΌλ‘œ 되돌리길 λ°”λžλ‹ˆλ‹€.

λ™μž‘ 확인 ν™˜κ²½
https://github.com/standard-software/partsjs/tree/v5.0.0
νŒ¨ν‚€μ§€.json

μ–˜μ•Ό 이거 μ•ˆ κ³ μ³μ‘Œμ–΄! 특히 Webpackκ³Ό 같은 κΈ°μ‘΄ λΉŒλ“œλ₯Ό 깨뜨릴 λ•Œ 해결될 λ•ŒκΉŒμ§€ 결함을 닫을 수 μ—†μŠ΅λ‹ˆκΉŒ? @ichernev ν•΄κ²°λ˜μ§€ μ•Šμ•˜

μ•ˆλ…•ν•˜μ„Έμš”, BUMP!, 이것은 μˆ˜μ •λ˜μ§€ μ•Šμ€ λ‚΄ λΉŒλ“œλ„ κΉ¨κ³  μžˆμŠ΅λ‹ˆλ‹€!.

npm i moment둜 μˆœκ°„μ„ μ—…λ°μ΄νŠΈν•˜κ³  ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

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