рд╡реЗрдмрдкреИрдХ рдЯреНрд░реА-рд╢реЗрдХрд┐рдВрдЧ рдФрд░ рдлрд┐рд░ рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд╕рд╛рде 2 рдорд┐рдирдЯ

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐


рдореБрдЭреЗ рд╢реБрд░реВ рдХрд░рдиреЗ рджреЛред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдорд╣рд╛рди рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдЦрдВрдб рджреГрд╖реНрдЯрд┐рдХреЛрдг рдерд╛ред рд╕реЗрд╡рд╛рдУрдВ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдлрд╛рдЗрд▓ рдореЗрдВ рд░рд╣рддреЗ рдереЗред рд╕рдмрдХреБрдЫ рдореБрдЦреМрдЯрд╛ рдХреЗ рдирд╛рд░реЗ рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛: "рд╕рдм рдХреБрдЫ рд╣рд╛рде рд╕реЗ рдЬрд╛рдиреЗ рджреЛ - рдпрд╣ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдПред"


рд▓рдХреНрд╖реНрдп


рд╕рдм рдХреБрдЫ рдЕрдзрд┐рдХ рдкрдардиреАрдп, рдЫреЛрдЯрд╛ рдФрд░ рддреЗрдЬ рдмрдирд╛рдПрдВред


рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрднрд╡ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╣рд░ рдЪреАрдЬ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдФрд░ рдпрд╣рд╛рдВ рдХреА рдЧреЛрд▓реНрдбрди рдмреБрд▓реЗрдЯ рдПрдХрдорд╛рддреНрд░ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реИред рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдШрдЯрдХ рдФрд░ рд╢реБрджреНрдз рдХрд╛рд░реНрдп рд╣реИрдВ, рддреЛ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рдХрд░реЗрдВрдЧреЗред


ES6 + рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде, рдЖрдпрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ ... рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗ рдПрдХ рдорд╣рд╛рди рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдирд┐рд░реНрдпрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ... рд╕реЗ ред


рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ


рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ:


// ,  ,       function multiply (a, b) { return a * b; } function sum (a, b) { return a + b; } function calculateSomethingSpecial(data) { return data.map( dataItem => sum(dataItem.param1, dataItem.param2) ); } 

рд╣рдо рдЗрд╕ рдХреЛрдб рдХреЛ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


рд╕рдВрд░рдЪрдирд╛:


 utils multiply.js sum.js calculateSomethingSpecial.js 

рдФрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ:


 // multiply.js export default function multiply (a, b) { return a * b; } or const multiply (a, b) => a * b; //    тАУ     . 

 // sum.js export default function sum (a, b) { return a + b; } 

 // calculateSomethingSpecial.js import sum from "./sum"; export default function calculateSomethingSpecial(data) { return data.map( dataItem => sum(dataItem.param1, dataItem.param2)); } 

рдЕрдм рд╣рдо рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдЗрдиреЛрдВ рдФрд░ рдЖрдпрд╛рдд рдореЗрдВ рдЗрди рд▓рдВрдмреЗ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде, рдпрд╣ рдЕрднреА рднреА рднрдпрд╛рдирдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИред


 // App.js import multiply from '../utils/multiply'; import sum from '../utils/sum'; import calculateSomethingSpecial from '../utils/calculateSomethingSpecial'; ... 

рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрджреНрднреБрдд рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ рдирдП рдЬреЗрдПрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджреА, рдЬрд┐рд╕реЗ рдлрд┐рд░ рд╕реЗ рдирд┐рд░реНрдпрд╛рдд (рдкреБрдирдГ рдирд┐рд░реНрдпрд╛рдд) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ index.js рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рдЕрдм рд╣рдо рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдЗрд╕ рддрд░рд╣ рджреЛрдмрд╛рд░рд╛ рд▓рд┐рдЦ тАЛтАЛрд╕рдХрддреЗ рд╣реИрдВ:


 // utils/index.js export { default as sum } from './sum'; export { default as multiply } from './multiply'; export { default as calculateSomethingSpecial } from './calculateSomethingSpecial'; 

рдереЛрдбрд╝рд╛ рдкреЙрдбрд╢рдордирд┐рдо App.js:


 // App.js import { multiply, sum, calculateSomethingSpecial } from '../utils'; 

рд╣реЛ рдЧрдпрд╛ред


рдкрд░реАрдХреНрд╖рдгред


рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд╡реЗрдмрдкреИрдХ рд╕рдВрдХрд▓рди рдХреИрд╕реЗ рдмрдирд╛рддреЗ рд╣реИрдВред рдЪрд▓реЛ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд░рд┐рдПрдХреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВред рд╣рдо рдЬрд╛рдБрдЪреЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдХреЗрд╡рд▓ рд╡рд╣реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рд╡рд╣ рд╕рдм рдХреБрдЫ рдЬреЛ рдЗрдВрдбрд┐рдкреЗрдВрдбреЗрдВрдЯ рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред


 //  App.js import React from "react"; import ReactDOM from "react-dom"; import { sum } from "./utils"; import "./styles.css"; function App() { return ( <div className="App"> <h1>Re-export example</h1> <p>{sum(5, 10)}</p> </div> ); } const rootElement = document.getElementById("root"); ReactDOM.render(<App />, rootElement); 

рдкрд░рд┐рд╢рд┐рд╖реНрдЯ:



рдЖрд╡реЗрджрди рдХрд╛ рдЙрддреНрдкрд╛рджрди рд╕рдВрд╕реНрдХрд░рдг:



 //   main.js   (window.webpackJsonp = window.webpackJsonp || []).push([[0], { 10: function(e, n, t) { "use strict"; tr(n); //    **sum**   var r = t(0) , a = tn(r) , c = t(2) , o = tn(c); function l(e, n) { return e + n } t(9); var u = document.getElementById("root"); oarender(aacreateElement(function() { return aacreateElement("div", { className: "App" }, aacreateElement("h1", null, "Re-export example"), aacreateElement("p", null, l(5, 10))) }, null), u) }, 3: function(e, n, t) { e.exports = t(10) }, 9: function(e, n, t) {} }, [[3, 1, 2]]]); //# sourceMappingURL=main.e2563e9c.chunk.js.map 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдКрдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдордиреЗ рдХреЗрд╡рд▓ рд░рд╛рд╢рд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрд░реНрддрдиреЛрдВ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИред
рдЪрд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рдмрд╛рд░ рд╣рдо рдмрд╣реБрдЧреБрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред


рдкрд░рд┐рд╢рд┐рд╖реНрдЯ:



рдЖрд╡реЗрджрди рдХрд╛ рдЙрддреНрдкрд╛рджрди рд╕рдВрд╕реНрдХрд░рдг:



 //   main.js   (window.webpackJsonp = window.webpackJsonp || []).push([[0], { 10: function(e, n, t) { "use strict"; tr(n); var a = t(0) , r = tn(a) , c = t(2) , l = tn(c); t(9); var o = document.getElementById("root"); larender(racreateElement(function() { return racreateElement("div", { className: "App" //        React      }, racreateElement("h1", null, "Re-export example"), racreateElement("p", null, 50)) }, null), o) }, 3: function(e, n, t) { e.exports = t(10) }, 9: function(e, n, t) {} }, [[3, 1, 2]]]); //# sourceMappingURL=main.5db15096.chunk.js.map 

рдпрд╣рд╛рдВ рд╣рдо рдХреЛрдб рдХреЗ рдЕрдВрджрд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рднреА рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗрдмрдкреИрдХ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реЗ рдкрд╣рд▓реЗ рднреА рд╣рдорд╛рд░реЗ рдореВрд▓реНрдп рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред


рдЕрдВрддрд┐рдо рдкрд░реАрдХреНрд╖рдг


рддреЛ, рдЪрд▓реЛ рдЕрдкрдирд╛ рдЕрдВрддрд┐рдо рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╕рднреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред


 //  App.js import React from "react"; import ReactDOM from "react-dom"; import { multiply, sum, calculateSomethingSpecial } from "./utils"; import "./styles.css"; function App() { const specialData = [ { param1: 100, param2: 99 }, { param1: 2, param2: 31 } ]; const special = calculateSomethingSpecial(specialData); return ( <div className="App"> <h1>Re-export example</h1> <p>Special: </p> <div> {special.map((specialItem, index) => ( <div key={index}> Result #{index} {specialItem} </div> ))} </div> <p>{multiply(5, 10)}</p> <p>{sum(5, 10)}</p> </div> ); } const rootElement = document.getElementById("root"); ReactDOM.render(<App />, rootElement); 

рдкрд░рд┐рд╢рд┐рд╖реНрдЯ:



рдЖрд╡реЗрджрди рдХрд╛ рдЙрддреНрдкрд╛рджрди рд╕рдВрд╕реНрдХрд░рдг:



 //   main.js   (window.webpackJsonp = window.webpackJsonp || []).push([[0], { 10: function(e, n, a) { "use strict"; ar(n); var t = a(0) , r = an(t) , l = a(2) , p = an(l); //    **sum** function c(e, n) { return e + n } a(9); var u = document.getElementById("root"); parender(racreateElement(function() { var e = [{ param1: 100, param2: 99 }, { param1: 2, param2: 31 //      **calculateSomethingSpecial** }].map(function(e) { //    **sum**   return c(e.param1, e.param2) }); return racreateElement("div", { className: "App" }, racreateElement("h1", null, "Re-export example"), racreateElement("p", null, "Special: "), racreateElement("div", null, e.map(function(e, n) { return racreateElement("div", { key: n }, "Result #", n, " ", e) //     **multiply** })), racreateElement("p", null, 50), //     **sum**   racreateElement("p", null, c(5, 10))) }, null), u) }, 3: function(e, n, a) { e.exports = a(10) }, 9: function(e, n, a) {} }, [[3, 1, 2]]]); vie 

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рд╕рдм рдХреБрдЫ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдк рдХреЛрдбреИрдВрдбрдмреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рднреА рдЪрд░рдг рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдк рд╣рдореЗрд╢рд╛ рд╡рд╣рд╛рдВ рд╕реЗ рдиреЗрдЯрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рддреИрдирд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдирд┐рд╖реНрдХрд░реНрд╖


рдХреЛрдб рдХреЛ рдЫреЛрдЯреЗ рднрд╛рдЧреЛрдВ рдореЗрдВ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ, рдХрд╛рд░реНрдпреЛрдВ, рдШрдЯрдХреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЖрдк рднрд╡рд┐рд╖реНрдп рдХреЛ рдЕрдкрдиреА рдФрд░ рдЕрдкрдиреА рдЯреАрдо рджреЛрдиреЛрдВ рдХреА рдорджрдж рдХрд░реЗрдВрдЧреЗред рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓реЗрдВ рдкрдврд╝рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди, рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди, рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди, рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдореЗрдВ рддреЗрдЬрд╝, рдХреИрд╢ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди, рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рддреЗрдЬрд╝ рдЖрджрд┐ рд╣реИрдВред


рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рд╕рд╛рдл рдХреЛрдб рдФрд░ рд╕реБрд╕реНрд╡рд╛рджреБ рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ!

Source: https://habr.com/ru/post/hi456594/


All Articles