javascript - 为什么要在dependencies中声明依赖?

查看:195
本文介绍了javascript - 为什么要在dependencies中声明依赖?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

看到说--save安装的模块,会显示在dependencies中。
并且dependencies中的模块表示生产环境的依赖。比如jQuery。

但是我不懂的是,拿jQuery举例。我为什么要在dependencies中声明依赖?
生产环境中,我会直接用script标签引用jQuery,根本不需要dependencies。如果在dependencies中声明了生产环境依赖的模块,会怎么样?会自动帮我添加script标签还是比如模块打包时,打包生产环境模块时会把dependencies中的依赖全部打包进去?但是据我所知,比如webpack在模块打包时是根据require的模块创建的依赖图表来打包的,所以我不太懂为什么要在dependencies声明生产环境依赖。

解决方案

  • 如果你用<script>加入模块的话,这个引入JS/CSS的方法本身用不到npm包管理,可以直接忽略package.json的配置问题

  • 如果你使用如webpack进行打包。webpack在模块打包时是根据require的模块创建的依赖图表来打包的,这的确没错。但是之后还有一步,就是webpack通过依赖图表进行打包的时候,如果依赖图表里有jQuery依赖,webpack还是要去找jQuery的文件,然后注入到打包的文件之中。如果你不写dependencies的话,在团队开发中,另一个人改了一点代码,然后用npm install安装了依赖包,再重新打包的时候,webpack创建出依赖图表,依赖图表中依赖了jQuery,然而webpack在node_modules里却找不到要注入到目标文件的jQuery代码,这样他重新打包就会失败。当然,如果你只有自己一个人开发的话,可以忽略这一点。

  • 当然,dependencies还有一种应用情况,比如说我之前写的一个node.js爬虫。由于这个爬虫是直接用node运行JS代码的,所以我的JS文件里面require()的包都需要写在dependencies里,部署的时候用npm install安装完这些依赖,require才能够读取到对应的包。

这篇关于javascript - 为什么要在dependencies中声明依赖?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆