使用vite+vue3开发,然后打包成微信小程序,打包后的主包vendor太大,由于首页用到了echarts,想要单独分开这个
我试过在vite.config.js文件配置build打包,但是看到打包后的文件,并没有分割vendor主文件,ehcart没有提取出来
build: { // 配置分包 rollupOptions: { output: { manualChunks(id) { if (id.includes('node_modules')) { return id.toString().split('node_modules/')[1].split('/')[0].toString(); } } } }, }
或者
build: { // 配置分包 rollupOptions: { output: { manualChunks: { 'echarts':['echarts'], } } }, }
答案如下:
在Vite中,使用rollupOptions
的manualChunks
选项可以帮助你手动拆分chunks。但是,由于uni-app打包微信小程序时,它的打包逻辑可能与纯Vite项目有所不同,可能需要额外的配置。
在你提供的代码中,你已经尝试使用了manualChunks
,但是可能由于uni-app的特殊打包机制,这些配置并没有生效。
对于uni-app的微信小程序打包,uni-app本身提供了一些配置选项来优化打包结果。你可以尝试使用mini.optimization
选项中的splitChunks
配置来手动分割vendor文件。
这里有一个可能的配置示例:
export default { // ... 其他配置 ... mini: { // ... 其他微信小程序配置 ... optimization: { splitChunks: { // 这里的配置可能会根据你的项目实际情况有所不同 cacheGroups: { echarts: { name: 'echarts', test: /[\\/]node_modules[\\/]echarts[\\/]/, priority: 20, // 优先级 chunks: 'all' }, // 你可以添加更多的cacheGroup来分割其他的库 // ... }, }, }, }, // ... 其他配置 ...}
这个配置将会把echarts
库单独分割成一个文件。注意,test
字段是一个正则表达式,用于匹配需要分割的模块路径。
然后,你需要在你的页面或者组件中正确地引入echarts
,以便uni-app的打包工具能够识别并应用这个分割配置。
请注意,这只是一个基本的示例,具体的配置可能会根据你的项目结构和需求有所不同。你可能需要根据你的项目实际情况调整这个配置。
另外,如果你发现这个配置没有生效,那么可能需要检查你的项目是否还有其他相关的配置可能会影响这个行为,或者查看uni-app的官方文档和社区,看看是否有其他开发者遇到了类似的问题,并找到了解决方案。
通过uni.download下载的word文件,使用openDocument的api可以打开文件 但是点击右上角的分享出现如下图的链接也无法打开
问题内容: 我想从特定的行号中拆分一个400k行长的日志文件。 对于这个问题,让我们将其设为任意数字300k。 是否有Linux命令允许我执行此操作( 在脚本内 )? 我知道可以按大小或行号将文件分成相等的部分,但这不是我想要的。我想要一个文件中的前300k,第二个文件中的最后100k。 任何帮助,将不胜感激。谢谢! 再三考虑,这将更适合于超级用户或服务器故障站点。 问题答案: file_name
本文向大家介绍如何解决vue打包vendor过大的问题?相关面试题,主要包含被问及如何解决vue打包vendor过大的问题?时的应答技巧和注意事项,需要的朋友参考一下 1、在webpack.base.conf.js新增externals配置,表示不需要打包的文件,然后在index.html中通过CDN引入 2、使用路由懒加载 官网
微信小程序,目前使用uniapp开发,想在微信桌面端打开小程序,然后从pc端拖动文件实现上传。 1.从这里打开小程序后是H5环境吗? 2.在微信开发工具测试没有反应,至少上传体验版才能打开测试,有更好的方法吗? 3.尝试了drop事件绑定但测试后发现小程序会白屏 有做过此类功能的朋友麻烦解惑一下 万分感谢。
例如: 打包时候,vconsole总是被打包到chunk-vendors中,没有单独打成一个chunk,这么配置如何修改,才能实现异步加载vconsole?
HBulidX 这个提示的输入框根本无法输入y/n,直接就是个ESC开头这些,并不能输入任何字符。 虽然我知道可以手动打开工具开放端口