主办的jQuery插件vs npm包,有什么区别?

新手前端开发人员在这里。 在过去,为了包含第三方的jquery插件,通常的做法是在HMTL中包含一个<script>标签,通常引用一些托pipe的js / css文件。

现在使用npm软件包,通常会执行npm install package_nameimport xx from 'package-name' 。 而且还有一些webpack会起作用,这只会让事情变得更加混乱。 我知道在使用webpack的时候,你不应该把第三方的jquery插件绑定到最终的bundle.js输出。 这是否意味着部署时,build议使用托pipe的css / js文件来解决依赖关系?

这两种方法有什么区别? 一个用于开发,另一个用于部署?

导入第三方模块(不仅仅是)它有助于编写更多的模块化代码,并有助于将代码拆分为多个文件。 这种模式的优点是,您不必手动parsing依赖关系,只需在您的html脚本中明确定义即可。 当一个项目正在增长时,很有可能失去所有这些文件的控制权,弄乱包含它们的顺序并最终破坏一切。 在导入的情况下,您可以在function中定义什么是依赖关系,而不依赖于包含html文档中的文件的顺序。 从所有的浏览器,甚至从节点直到现在,导入都不是本地支持的。 所以,这里是Babel和webpack的发挥。 在你开发的时候,导入应该被翻译成浏览器和节点可以理解的东西,你可以使用babel来做这件事(从来没有和Webpack一起工作,但可能你也可以做同样的事情)。 Babel和Webpack将确保依赖性得到解决,最终将产生另一个js文件,它将被编译成浏览器和节点将理解的纯javascript。 Webpack和babel应该用于开发和部署。

还有其他模式可以用来包含像amd模式和common.js模式的模块(这与导入非常相似)。

不同的是,我认为networking开发的新趋势有了新的要求,例如资源的延迟加载,所以现在,在html中包含脚本的旧方法并不是有用的,因为这不符合要求