Dependencias de JavaScript: todo lo que siempre quiso saber pero tenía miedo de preguntar

Tu guía detallada de los cinco tipos de adicción

Hola, Khabrovites. Para los futuros alumnos del curso "JavaScript Developer. Professional" se preparó una traducción del material.



También invitamos a todos a un seminario web abierto sobre el tema
"Vue 3: las capacidades de la nueva versión de uno de los frameworks frontend más populares" . En la lección, los participantes, junto con un experto:

- Consideran las diferencias clave en la sintaxis de vue2 de vue3;

- comprenderá cómo trabajar con vue-router y VueX en la nueva versión del marco;

- crea un proyecto de Vue 3 desde cero usando Vue-cli.






Ya sea que sea un desarrollador de back-end que trabaja con Node.js o un desarrollador de front-end que usa Node.js solo como una herramienta de empaquetado y agrupación, probablemente haya tropezado con un sistema de dependencia.





5 (, , 5 ), ? , , .





.       .       .





Normal (runtime) dependencies (c ( ) ) 

, ?





— , "dependencies" package.json



. ( ) (), NPM (node package manager ) ( npmjs.org



).





, . :





  • . , (.. >1.2.0 ), (.. <=1.2.0 ), (.. >= , > , <) . ~ (.. "lodash":"~1.2.2, 1.2.2 1.3.0 , , ). "" , semver   (.. "lodash": "^1.2.0", , - ).





  • URL-. , URL, - (, Github tarball-).





  • . , . , , NPM. " " . , , , - file://



    .





?





, , .





, , , , , . , React Babel, , , , , , ( , ).





, , , , , .





.       .       .





Peer dependencies ( )

Peer dependencies — , , , , , , . , .





, , ? , , Babel, Babel , , , , Babel -.





, , Babel , , , Babel. , , NPM, , — Babel -, .





Peer dependencies?





Peer dependencies , , , , .





:





  • , . peer dependency.





  • , . peer dependency.





, peerDependencies, :





  • Babel . , Babel, (peer dependency).





  • Express middleware packages (- ): NPM, peer dependencies. Express   , , (middleware) .





  • Micro Frontend (), , ( ), . Peer dependencies .





  • Bit components. front-end , , React- Bit (Github), react peer dependency. , .





, React , : , ( , ).





component, Bit’s component hub.





, , package.json, peer dependencies:





, , , React-.





(1KB) — .





.       .       .





Dev Dependencies (Dev )

, ? , , , , ? .





(Development dependencies) , , .





, , , (linting tools), .





, , dev dependency.





, npm install



  npm link



  .





, , . , dev dependencies.





dev dependencies?





, , , dev dependencies ( ).





, , -.  





- dev- , , npm install



-, dev- .





Dev , .





.       .       .





(Bundled Dependencies)

, . npm pack



, (tarball-).





, bundledDependencies



( : bundleDependencies



, ), .





{
...
   "dependencies": {
    "lodash": "1.0.2",
    "request": "4.0.1"
  },
  "bundledDependencies": ["lodash"]
...
}
      
      



package.json



, , npm pack



tarball



, lodash



.





(, URL ).





.       .       .





(Optional dependencies)

, , , . ? NPM , , .





, npm install



- ( - , , - ), .





NPM . , , , :





let foo = null;
try {
  foo = require("foo-dep");
} catch (e) {
  foo = require("./local-polyfill")
}
//... use foo from here on out
      
      



(optional dependencies)?





— . , ? . , , , , , .





, (optional dependencies). , , , CI(Continuous Integration)-. , , , , .





npm install



, , npm install --no-optional



, . , .





.       .       .





, - NPM , dev-. 3, , .





, , .





, ? , , !






"JavaScript Developer. Professional".





«Vue 3 — ».








All Articles