❶ vue为什么还要webpack打包
结论:vue中,直接引用文件,可以让打包文件最小。
试验记录
下面测试项目中引入一个Button组件的代价。
基准工程大小:
[raywill:shop]npm run build
> shop@ build /Users/raywill/code/vue/shop
> cross-env NODE_ENV=proction webpack --progress --hide-moles
Hash: d902d9dc5e1698eaa9ea
Version: webpack 1.12.14
Time: 6584ms
Asset Size Chunks Chunk Names
build.js 80.7 kB 0 [emitted] main
build.js.map 690 kB 0 [emitted] main
通过引入组件的方式
import {Button} from 'vue-weui'
增加了21.3K的大小
[raywill:shop]npm run build
> shop@ build /Users/raywill/code/vue/shop
> cross-env NODE_ENV=proction webpack --progress --hide-moles
Hash: f694bcd5ed5727442173
Version: webpack 1.12.14
Time: 8039ms
Asset Size Chunks Chunk Names
build.js 102 kB 0 [emitted] main
build.js.map 890 kB 0 [emitted] main
直接引用button.vue文件
import Button from 'vue-weui/components/button/button.vue';
文件大小只增加了0.8KB
[raywill:shop]npm run build
> shop@ build /Users/raywill/code/vue/shop
> cross-env NODE_ENV=proction webpack --progress --hide-moles
Hash: 319a98bac47333236f71
Version: webpack 1.12.14
Time: 6778ms
Asset Size Chunks Chunk Names
build.js 81.5 kB 0 [emitted] main
build.js.map 695 kB 0 [emitted] main
由此可见,为了最大程度降低打包文件的大小,目前最好的方式还是手工引入对应的组件文件。
可别小看这种差异,对于较大的库,采取两种方式的差别是很大的,例如vux库,二者大小可相差400KB:
// 引用部分组件
import {Circle} from 'vux';
[raywill:shop]npm run build
> shop@ build /Users/raywill/code/vue/shop
> cross-env NODE_ENV=proction webpack --progress --hide-moles
Hash: 8770eef20f62e11410ac
Version: webpack 1.12.14
Time: 53821ms
Asset Size Chunks Chunk Names
build.js 480 kB 0 [emitted] main
build.js.map 1.97 MB 0 [emitted] main
// 只引用需要的文件
import Circle from 'vux/components/circle/'
[raywill:shop]npm run build
> shop@ build /Users/raywill/code/vue/shop
> cross-env NODE_ENV=proction webpack --progress --hide-moles
Hash: 926fd28e8edd00ddae53
Version: webpack 1.12.14
Time: 6652ms
Asset Size Chunks Chunk Names
build.js 82.4 kB 0 [emitted] main
build.js.map 696 kB 0 [emitted] main
❷ Vue正式上线项目都是编译之后的吗
对,都是编译后的,就像后端,也是编译后的
❸ 一个目录下有多个vue项目,使用批处理,怎么实现一键全部打包,并压缩
你一个项目怎么打包的,就直接把4个项目打包的命令用&符号并行处理
❹ vue编译后的js和map文件修改不了吗
无法还原,编译后的js为压缩文件,很多代码都不存在了
❺ 前端vue+typescript 的时候组件name 在生产环境被压缩 导致keep-alive失效 求解决
估计你是用的include 或者 exclude,ts文件也是用的 class 写的。这样打包时默认压缩了name,对应不上。在vue.config.js中加入下面的代码,不压缩class名就行
configureWebpack: config => {
config.optimization.minimizer[0].options.terserOptions.keep_fnames = true;
}
❻ vue压缩后的js可以反编译出来吗
vue压缩后的js可以反编译出来,反编译方法为:
1、在桌面找到自己下载的浏览器软件,点击浏览器图标。
❼ vue中使用vue i18n如何实现打包后后端修改国际化文件生效
你可以把这部分文件放在static文件夹地下,用的时候指向到这文件路径地下,webpack打包的时候也配下不压缩打包这个目录地下,vue-cli默认集成的webpack配置有这个操作,部署的服务器也可以直接到这个dist/static地下去修改这些文件了
❽ vue项目打包后,乱码。部署到本地服务器,不乱码,部署到虚拟机linux服务器乱码。如何解决
可能是编码没设置好,再看看
❾ Vue项目中中编译正确 控制台出现下列错误是什么情况
空指针异常哦,看看哪个变量无值或者是没有内存开辟空间,用断点看错误或者就和我一样直接找,找长了自然很快了就,或者做个System.out.println("gag");这样的控制台输出语句放到程序的各个地方慢慢排除呗
❿ 请问vue3X里的vue.config.js怎么配置压缩混淆代码呀
一般出现这样的问题原因是npm安装出现了问题,全局模块目录没有被添加到系统环境变量。
Windows用户检查下npm的目录是否加入了系统变量PATH中,如果不存在需要手动添加,如下图我们将用户变量中的PATH变量值粘贴到系统变量PATH中,添加之后需要重新启动CMD控制台。