登陆

JS合并时变量命名冲突?

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

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

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


# JavaScript
巴扎黑巴扎黑1710 天前285 次浏览

全部回复(1)我要回复

  • 巴扎黑

    巴扎黑2017-02-18 09:42:32

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

    回复
    0
  • 取消回复发送