JS合并时变量命名冲突?

在单页应用的JS使用中,使用webpack打包工具可以把多个JS模块打包成一个JS文件,然后index.html里引入这个文件就可以了。

那如果不是单页应用呢?webpack分别把每个页面引入的多个JS文件压缩成一个,然后每个html页面引入一个压缩后的JS文件?

记得之前看过提高性能的博客,其中有一条是,把多个JS文件合并为一个,这样可以减少http请求数,从而提高传输效率,以前看的时候觉得挺自然的,现在有一个疑问,这样合并时,如果原JS文件脚本中没有注意使用闭包的方式,多个JS脚本之间,不是很容易形成变量命名冲突吗?

阅读 3.7k
1 个回答

1.如果是多页面的应用,webpack可以设置多个入口点,将每个页面的js分别打包,在页面中引入
2.webpack将每个js文件看成一个模块(与Node.js类似),在不同的模块下,即使变量名相同,也不会冲突
3.模块之间共享变量需要在模块中进行导入与导出操作

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题