用vue脚手架中,在main.js中引入过vue,然后在App.vue又一次引入vue,会不会重复?

例如在main.js已经 import Vue from 'vue'
然后在App.vue中也 import Vue from 'vue'
两者在打包中会不会重复打包vue,造成最后体积很庞大,还是只打包一次??
谢谢大家了!!!

阅读 7.9k
6 个回答

对象调用两次、文件导入一次

不会。
验证方法如下:

创建默认环境:

vue init webpack testimport 
cd testimport 
npm i 
npm run build
ls -lah static/js/*.js | awk '{print $9, $5}' 

得到大小:

static/js/app.9a703202ecfda5d97127.js 12K
static/js/manifest.0d660e2ee3d5d85c597c.js 832B
static/js/vendor.83d498a14a4284cf1919.js 73K

随后加入import Vue from 'vue' 到app.vue内,再次构建并执行查询:

npm run build
ls -lah static/js/*.js | awk '{print $9, $5}' 

结果一样:

static/js/app.9a703202ecfda5d97127.js 12K
static/js/manifest.0d660e2ee3d5d85c597c.js 832B
static/js/vendor.83d498a14a4284cf1919.js 73K

只打包一次,不会重复打包

webpack的机制是允许多次引用,只会进行一次打包的。

不会啊,你想想,你定义了一个header组件,如果在多个js中都引入了header.vue,如果你打包的入口文件只有一个,那么最终打包的会自己去重 ,放心写吧,
相反如果你打包的入口文件有多个,那么打包的时候会在每个入口文件都打包一次,可以多了解webpack

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