Lorsque vous voyez le module installé par --save, il sera affiché dans les dépendances.
Et les modules en dépendances représentent les dépendances de l'environnement de production. Tel que jQuery.
Mais ce que je ne comprends pas, c'est de prendre jQuery comme exemple. Pourquoi dois-je déclarer des dépendances dans les dépendances ?
Dans un environnement de production, j'utiliserai directement des balises de script pour référencer jQuery, sans aucune dépendance. Que se passe-t-il si les modules dont dépend l'environnement de production sont déclarés dans des dépendances ? Est-ce que cela ajoutera automatiquement des balises de script pour moi ou, par exemple, lors de l'empaquetage de modules, lors de l'empaquetage de modules d'environnement de production, toutes les dépendances des dépendances seront-elles empaquetées ? Mais pour autant que je sache, par exemple, lorsque les modules Webpack sont empaquetés, ils sont empaquetés en fonction du graphe de dépendances créé par le module require, donc je ne comprends pas très bien pourquoi les dépendances de l'environnement de production doivent être déclarées dans les dépendances.
Nous utiliserons de nombreux modules dans le développement réel. Certains modules (tels que gulp, babel, ceux-ci sont placés dans les dépendances dev) ne sont utilisés que dans l'environnement de développement, tandis que jquery est utilisé dans l'environnement de production lorsque vous déployez le projet dans un environnement de production. environnement de production, si vous exécutez npm install --production, seuls les modules des dépendances seront installés, ce qui sera très pratique.
Le fait est que ce champ est conçu pour le nœud, peu importe que vous l'écriviez ou non.
Pour être plus précis, en tant que projet front-end, vos dépendances sont soit empaquetées, soit introduites avec des balises de script, donc ce qui se trouve dans votre champ deps n'affectera pas du tout le code final.
Si vous utilisez
<script>
加入模块的话,这个引入JS/CSS的方法本身用不到npm包管理
,可以直接忽略package.json
problème de configurationSi vous installez des packages de dépendances comme
webpack
进行打包。webpack在模块打包时是根据require的模块创建的依赖图表来打包的,这的确没错。但是之后还有一步,就是webpack通过依赖图表进行打包的时候,如果依赖图表里有jQuery依赖,webpack还是要去找jQuery的文件,然后注入到打包的文件之中。如果你不写dependencies的话,在团队开发中,另一个人改了一点代码,然后用npm install
, puis reconditionnez, webpack crée un graphe de dépendances, qui dépend de jQuery, mais webpack ne trouve pas le code jQuery à injecter dans le fichier cible dans node_modules, donc s'il reconditionne, il échouera. Bien sûr, vous pouvez ignorer cela si vous êtes le seul à développer.Bien sûr, les dépendances ont une autre application, comme un robot node.js que j'ai écrit auparavant. Étant donné que ce robot utilise directement le nœud pour exécuter le code JS, require ne peut lire le package correspondant qu'après avoir installé ces dépendances dans mon fichier JS.
require()
的包都需要写在dependencies里,部署的时候用npm install
Je pense que vous pouvez utiliser node car vous devez utiliser webpack pour développer des pages. Sinon, vous ne poserez pas de questions sur la relation entre les dépendances et le script. Il n'y a aucun lien entre les deux.
Ici vous avez mélangé 3 choses :
Gestion des dépendances de package.json
Gestion des dépendances du webpack
Introduction au script en html
Gestion des dépendances de package.json
node peut non seulement être utilisé pour le développement de pages, mais peut également être utilisé pour faire de nombreuses choses, comme développer des programmes serveur, développer des bibliothèques JS, etc. Dependencies enregistre et garantit les dépendances de votre projet lorsqu'il est utilisé par ; devDependencies enregistre et garantit les dépendances de votre projet lorsqu'il est développé par . A titre d'exemple, nous développons une bibliothèque et nous préparons à la publier sur NPM. Si vous devez utiliser
, les devDependencies incluent babel et eslint.lodash.sample
,开发时使用es6,并且还使用eslint对代码风格进行规范。那么dependencies中就有lodash.sample
Les dépendances garantissent que lorsque quelqu'un installe notre bibliothèque,lodash.sample
都会被安装(否则这个库将无法正确运行);devDependencies保证任何人在(或者你自己在其他设备上)对这个项目进行修改(开发)时,通过npm install
Gestion des dépendances du webpackWebpack est un outil de création qui peut être utilisé dans le développement de pages et peut également être utilisé à d'autres endroits. La gestion des dépendances de Webpack trouve les dépendances via
, elle ne s'appuie pas sur les dépendances.require
Toujours en utilisant l'exemple de la bibliothèque ci-dessus, nous pouvons utiliser webpack pour l'empaquetage (il devrait alors y avoir webpack dans devDependencies). Même si vous appelez.Introduction au script en html
Lorsque webpack est utilisé pour développer des pages, les fichiers js empaquetés sont d'abord introduits manuellement sous forme de scripts en HTML, mais il existe ensuite des plug-ins pour nous aider à terminer automatiquement ce processus. Plus tard, certains outils d'échafaudage tels que vue-cli avaient une configuration Webpack responsable intégrée, optimisant et automatisant l'ensemble du processus. De plus, l'ensemble du processus de développement est réalisé dans node, ce qui peut vous amener à croire à tort qu'il existe un lien entre les dépendances et les scripts.npm install --save
了其他十几个模块,webpack时,也只会将lodash.sample
工作环境改变
的时候,你的项目要是想正常运行。必须声明依赖,这样不管在哪里,只需要一句npm install
Vous pouvez restaurer l'environnement de travail et résoudre toutes les dépendances