新手前端开发者在这里。在过去,要包含第三方jquery插件,通常的方法是在HMTL中包含<script>
标记,该标记通常引用一些托管的js / css文件。
现在使用npm包,您通常会npm install package_name
和import xx from 'package-name'
。并且还有webpack发挥作用,这只会让事情变得更加混乱。我知道在使用webpack时,你不应该将第三方jquery插件捆绑到最终的bundle.js输出中。这是否意味着在部署时,建议使用托管的css / js文件来解析依赖项?
这两种方法有什么区别?是一个用于开发而另一个用于部署?
答案 0 :(得分:1)
导入第三方模块(而不仅仅是)它有助于编写更多模块化代码,并有助于将代码拆分为多个文件。此模式的优点是您不必通过在html脚本上显式定义依赖项来手动解析依赖项。当项目增长时,很可能失去对所有这些文件的控制,搞乱你包含它们的顺序,最终破坏一切。在导入的情况下,您在功能中定义了什么是依赖项,并且您不依赖于在html文档中包含文件的顺序。从本地到所有浏览器,甚至从节点到现在,都不支持导入。所以,这是Babel和webpack进场的时候。在开发时,导入应该转换为浏览器和节点理解的东西,你可以使用babel(从未使用过Webpack,但可能你也可以做同样的事情)。 Babel和Webpack将确保解析依赖关系并最终生成另一个js文件,它将被编译为浏览器和节点将理解的纯javascript。 Webpack和babel应该用于开发和部署。
您可以使用其他模式来包含amd模式和common.js模式等模块(它与导入模式非常相似)。
答案 1 :(得分:0)
我认为,差异在于Web开发中的新趋势有新的要求,例如资源的延迟加载,所以现在,在html中包含脚本的旧方法没有用,因为这不符合要求