рдкрддрд╛ рдирд╣реАрдВ рдХреНрдпрд╛ рдпрд╣ #4216 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ Angular 4.4.4
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдПрдХ React
рдореБрджреНрджрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдЕрджреНрдпрддрди рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА:
__WEBPACK_IMPORTED_MODULE_2_moment__ is not a function
рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд moment
рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
"moment": "2.19.0",
"@types/moment": "2.13.0",
рдХреЛрдб рдЬрд╣рд╛рдВ рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рд╡рд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ:
import * as moment from 'moment';
...
if (moment().year() !== this.mainData.activeYear)
...
+1 - рдХреЛрдгреАрдп 4 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджрд╛
рдореЗрд░рд╛ рднреА рдпрд╣реА рд╡рд┐рдЪрд╛рд░ рд╣реИред рдХреЛрдгреАрдп рдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ред рдпрд╣ рдореЗрд░реА рд╡реЗрдмрдкреИрдХ рддреНрд░реБрдЯрд┐ рд╣реИ:
WARNING in ./~/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in '/data/jenkins/workspace/project/node_modules/moment/src/lib/locale'
./~/moment/src/lib/locale/locales.js 65:16-60
./~/moment/src/lib/locale/locale.js
./~/moment/src/moment.js
./script.js
Vuejs рдФрд░ webpack рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдпрд╣рд╛рдВ рд╡реЗрдмрдкреИрдХ рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкрд▓-рд╕рдордп рдХреНрд╖реЗрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдордиреЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ "moment": "^2.18.1"
рд╕реЗ "moment": "~2.18.1"
. рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ
рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рдЬрдм рдкрд▓ рд╕рдВрд╕реНрдХрд░рдг 2.19.0 . рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рд╣реЛрддрд╛ рд╣реИ
WARNING in ./~/[email protected]@moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in '/Users/XXX/code/gitlab/web-editor/node_modules/[email protected]@moment/src/lib/locale'
@ ./~/[email protected]@moment/src/lib/locale/locales.js 65:16-60
@ ./~/[email protected]@moment/src/lib/locale/locale.js
@ ./~/[email protected]@moment/src/moment.js
@ ./~/[email protected]@antd/lib/calendar/index.js
@ ./~/[email protected]@antd/lib/index.js
@ dll lib
2.19.0 . рдХреЗ рд╕рд╛рде рдпрд╣рд╛рдБ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ
рдЗрд╕ 2.19.0
рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛
рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг (2.19.0 рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП)
'рдкрд▓' рдХреЗ рд▓рд┐рдП рдЖрд╣, 2.18.1 . рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
"рдкрд▓": "~2.18.1"
рдпрд╣рд╛рдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ ЁЯШв рдЬрдм рддрдХ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛, рд╣рдо 2.18 рдкрд░ рд╡рд╛рдкрд╕ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░ рджреЗрдВрдЧреЗред
рдпрд╣рд╛рдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛...
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡реЗрдмрдкреИрдХ рддреНрд░реБрдЯрд┐
WARNING in ./node_modules/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in 'blahblahblah/node_modules/moment/src/lib/locale'
@ ./node_modules/moment/src/lib/locale/locales.js 65:16-60
@ ./node_modules/moment/src/lib/locale/locale.js
@ ./node_modules/moment/src/moment.js
@ ./src/client/components/ArticlesGrid/index.js
@ ./src/client/containers/StuffPage/index.js
@ ./src/client/routes.jsx
@ ./src/client/index.js
@ multi (webpack)-dev-server/client?http://0.0.0.0:8050 webpack/hot/dev-server babel-polyfill ./src/client/index.js
@mymtw - рдПрдХ рд╕рдореБрджрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдлрд╝реЙрд░реНрдо рдкрд░ рд╢рдкрде рдЧреНрд░рд╣рдг рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдЕрдкрдбреЗрдЯ рдХрд░ рджреА рдЧрдИ рд╣реИред рдХреГрдкрдпрд╛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдкрд░рд╣реЗрдЬ рдХрд░реЗрдВред
2.19 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдорд┐рд▓рд╛ ...
node_modules/webpack/lib/IgnorePlugin.js:20
(!contextRegExp || contextRegExp.test(result.context))) {
^
TypeError: contextRegExp.test is not a function
рдФрд░ рдореЗрд░реА рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓ рдкрд░ рд▓реЛрдХреЗрд╢рдВрд╕ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдЧреНрдиреЛрд░ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:
new webpack.IgnorePlugin(/^\.\/locale$/, [/moment$/])
рдкрд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ package.json
рдореЗрдВ рд▓реЙрдХ рдХрд░рдиреЗ рд╕реЗ рдорджрдж рдорд┐рд▓реЗрдЧреА:
"moment": "2.18.0"
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдирд╡реАрдирддрдо рдХреНрд╖рдг рд╕рдВрд╕реНрдХрд░рдг (2.19.0) рдЖрдкрдХреА рдирд┐рд░реНрднрд░рддрд╛ рджреНрд╡рд╛рд░рд╛ рдЦреАрдВрдЪрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЙрдкрд░реЛрдХреНрдд рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рдЕрдкрдиреЗ рдРрдк рдореЗрдВ рдкрд▓ рдХреЗ рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП find ./node_modules/*/node_modules -iname moment
рдЪрд▓рд╛рдПрдВ)
рдЖрдк рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╡реЗрдмрдкреИрдХ рдПрдХреНрд╕рдЯрд░реНрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
+ externals: {
+ moment: 'moment',
+ },
<script src="https://momentjs.com/downloads/moment.min.js"></script>
рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдХреЗ ~2.18.0
рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдлрд┐рд▓рд╣рд╛рд▓ рдЗрд╕реЗ рдЯрд╛рд▓ рджреЗрддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рдПрдХ рдкреНрд░рдЬрдирди рдХрджрдо рд╣реИ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ create-react-app
рд╕реНрдерд╛рдкрд┐рдд рд╣реИ:
> create-react-app my-app
> cd my-app
> # Prove the app it working correctly
> npm run start
> npm install moment
src/app.js
рдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:
import '.App.css';
+ import moment from 'moment'
class App extends Component {
</p>
+<p>
+ Today is {moment().format()}
+</p>
</div>
рдлрд┐рд░
> npm run start
рд╡реЗрдмрд╕рд╛рдЗрдЯ рд▓реЛрдб рд╣реЛрдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ, рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓: './locale' рддреНрд░реБрдЯрд┐ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрджрд░реНрдн, рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
> npm install [email protected]
рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рдЕрдкрдиреЗ рдХреЛрдб рдкрд░ рдкрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдореИрдВ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рд╡реЗрдмрдкреИрдХ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╕рднреА рд╡реЗрдмрдкреИрдХ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдирд╡реАрдирддрдо рд╣реИрдВ (рдХрдИ рд╣реИрдВ, рдФрд░ рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдХреБрдЫ рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИ), рдФрд░ рдХреНрд╖рдг 2.19.0, рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред
рдореИрдВ рдЖрдЧреЗ рдЗрд╕ create-react-app рдкрде рдХреЛ рдЖрдЬрд╝рдорд╛рдКрдБрдЧрд╛ред
рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдпрд╣ рдмрд╣реБрдд рд╕реБрдЦрдж рд╕реБрдмрд╣ рдирд╣реАрдВ рдереА!
рдЗрд╕ рддреНрд░реБрдЯрд┐ рдкрд░ рдбрд┐рдЯреНрдЯреЛред
npm install --save [email protected]
рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдареАрдХ рдХрд░ рджреЗрддрд╛ рд╣реИред 2.19.0 рдореБрдЭреЗ рд▓рдЧрднрдЧ 2 рдШрдВрдЯреЗ рдкрд╣рд▓реЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рджреЗ рд░рд╣рд╛ рдерд╛ред
2.18.1 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдЗрд╕рдиреЗ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред
рд╣рдо рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреА рдкреБрд╖реНрдЯрд┐ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
2.19.0 рдиреЗ рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрдорд╛рдг рдХреЛ рддреЛрдбрд╝ рджрд┐рдпрд╛ :(ред 2.18.1 рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯрдирд╛ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
#4216 рдХреЗ рдбреБрдкреНрд▓реАрдХреЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд╛рдкрди - рд╡рд╣рд╛рдВ рдЯреНрд░реИрдХ рдХрд░реЗрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореЗрд░рд╛ рднреА рдпрд╣реА рд╡рд┐рдЪрд╛рд░ рд╣реИред рдХреЛрдгреАрдп рдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ред рдпрд╣ рдореЗрд░реА рд╡реЗрдмрдкреИрдХ рддреНрд░реБрдЯрд┐ рд╣реИ: