专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

Vite配置篇日常开发掌握这些配置就够了!

  不知道有没有这样的兄弟,学习Vite的时候,官网上各种配置看的是眼花缭乱。不知道哪些需要掌握,哪些只用简单了解一下。为了提高大家的效率,我把项目中常用的配置梳理了一下分享给大家,希望对你上手Vite有所帮助。话不多说,开干!css。preprocessorOptions
  传递给CSS预处理器的配置选项,这些配置会传递到预处理器的执行参数中去。例如,在scss中定义一个全局变量:vite。config。jsimport{defineConfig}fromvite使用defineConfig工具函数获取类型提示:exportdefaultdefineConfig({css:{preprocessorOptions:{scss:{additionalData:injectedColor:orange;全局变量}}}})
  我们也可以定义一个全局变量文件,然后再引入这个文件:srcassetsstylesvariables。scssinjectedColor:orange;injectedFontSize:16px;vite。config。jsimport{defineConfig}fromviteexportdefaultdefineConfig({css:{preprocessorOptions:{scss:{additionalData:importsrcassetsstylesvariables。scss;引入全局变量文件}}}})
  这样在。scss文件或。vue文件中就可以使用这些变量了。css。postcss
  PostCSS也是用来处理CSS的,只不过它更像是一个工具箱,可以添加各种插件来处理CSS。像浏览器样式兼容问题、浏览器适配等,都可以通过PostCSS来解决。
  Vite对PostCSS有良好的支持,我们只需要安装相应的插件就可以了。如移动端使用postcsspxtoviewport对不同设备进行布局适配:npminstallpostcsspxtoviewportDvite。config。jsimport{defineConfig}fromviteimportpostcssPxToViewportfrompostcsspxtoviewportexportdefaultdefineConfig({css:{postcss:{plugins:〔viewport布局适配postcssPxToViewport({viewportWidth:375})〕}}})
  这样我们书写的px单位就会转为vw或vh,很轻松地解决了适配问题。resolve。alias
  定义路径别名也是我们常用的一个功能,我们通常会给scr定义一个路径别名:vite。config。jsimport{defineConfig}fromviteimportpathfrompathexportdefaultdefineConfig({resolve:{alias:{:path。resolve(dirname,。src)路径别名}}})
  我们也可以使用插件,来自动给src和src下所有的文件夹定义路径别名:vite。config。jsimport{defineConfig}fromviteimport{ViteAliases}from。nodemodulesvitealiases通过名称引入会报错,可能是插件问题exportdefaultdefineConfig({plugins:〔ViteAliases()〕})
  相应的路径别名如下:srcassetsassetscomponentscomponentsrouterrouterstoresstoresviewsviews。。。resolve。extensions
  导入时想要省略的扩展名列表。默认值为〔。mjs,。js,。ts,。jsx,。tsx,。json〕。vite。config。jsimport{defineConfig}fromviteimportpathfrompathexportdefaultdefineConfig({resolve:{extensions:〔。js,。ts,。json〕导入时想要省略的扩展名列表}})
  注意:不建议忽略自定义导入类型的扩展名(例如:。vue),因为它会影响IDE和类型支持。optimizeDeps。force
  是否开启强制依赖预构建。nodemodules中的依赖模块构建过一次就会缓存在nodemodules。vitedeps文件夹下,下一次会直接使用缓存的文件。而有时候我们想要修改依赖模块的代码,做一些测试或者打个补丁,这时候就要用到强制依赖预构建。vite。config。jsimport{defineConfig}fromviteexportdefaultdefineConfig({optimizeDeps:{force:true强制进行依赖预构建},})
  除了这个方法,我们还可以通过删除。vite文件夹或运行npxviteforce来强制进行依赖预构建。server。host
  指定服务器监听哪个IP地址。默认值为localhost,只会监听本地的127。0。0。1。当我们开发移动端项目时,需要在手机浏览器上访问当前项目。这时候可以将host设置为true或0。0。0。0,这样服务器就会监听所有地址,包括局域网和公网地址。vite。config。jsimport{defineConfig}fromviteexportdefaultdefineConfig({server:{host:true监听所有地址}})
  效果如下:
  5e157d5a4ca827d5dafbc354ff135e1。png
  当手机和电脑处于同一个网络环境下,我们就可以通过下面那个地址进行访问了。server。proxy
  反向代理也是我们经常会用到的一个功能,通常我们使用它来进行跨域:vite。config。jsimport{defineConfig}fromviteexportdefaultdefineConfig({server:{proxy:{字符串简写写法foo:http:localhost:4567,选项写法api:{target:http:jsonplaceholder。typicode。com,changeOrigin:true,rewrite:(path)path。replace(api,)},正则表达式写法fallback。:{target:http:jsonplaceholder。typicode。com,changeOrigin:true,rewrite:(path)path。replace(fallback,)},使用proxy实例api:{target:http:jsonplaceholder。typicode。com,changeOrigin:true,configure:(proxy,options){proxy是httpproxy的实例}},Proxyingwebsocketsorsocket。iosocket。io:{target:ws:localhost:3000,ws:true}}}})base
  开发或生产环境服务的公共基础路径。可以是以下几种值:绝对URL路径,例如foo完整的URL,例如https:foo。com空字符串或。(用于嵌入形式的开发)vite。config。jsimport{defineConfig}fromviteexportdefaultdefineConfig({base:foo开发或生产环境服务的公共基础路径})build。outdir
  指定打包文件的输出目录。默认值为dist,当dist被占用或公司有统一命名规范时,可进行调整。vite。config。jsimport{defineConfig}fromviteexportdefaultdefineConfig({build:{outDir:build打包文件的输出目录}})build。assetsDir
  指定生成静态资源的存放目录。默认值为assets,可根据需要进行调整。vite。config。jsimport{defineConfig}fromviteexportdefaultdefineConfig({build:{assetsDir:static静态资源的存放目录}})build。assetsInlineLimit
  图片转base64编码的阈值。为防止过多的http请求,Vite会将小于此阈值的图片转为base64格式,可根据实际需求进行调整。vite。config。jsimport{defineConfig}fromviteexportdefaultdefineConfig({build:{assetsInlineLimit:4096图片转base64编码的阈值}})plugins
  插件相信大家都不陌生了。我们可以使用官方插件,也可以社区插件。如使用vitejspluginvue提供Vue3单文件组件的支持,使用vitepluginmock让我们更轻松地mock数据。npmimockjsSnpmivitepluginmockDvite。config。jsimport{defineConfig}fromviteimportvuefromvitejspluginvueimport{viteMockServe}fromvitepluginmockexportdefaultdefineConfig({plugins:〔vue(),viteMockServe()〕})
  更多社区插件,大家可以查看awesomevite。当然如果有特殊需求,我们也可以自己写一个插件。后续我也会带大家手写一个自己的插件。完整代码vite。config。jsimport{defineConfig}fromvite使用defineConfig工具函数获取类型提示:importvuefromvitejspluginvueimport{viteMockServe}fromvitepluginmockexportdefaultdefineConfig({base:foo,开发或生产环境服务的公共基础路径optimizeDeps:{force:true强制进行依赖预构建},css:{preprocessorOptions:{scss:{additionalData:importsrcassetsstylesvariables。scss;引入全局变量文件}},postcss:{plugins:〔viewport布局适配postcssPxToViewport({viewportWidth:375})〕}},resolve:{alias:{:path。resolve(dirname,。src)路径别名},extensions:〔。js,。ts,。json〕导入时想要省略的扩展名列表},server:{host:true,监听所有地址proxy:{字符串简写写法foo:http:localhost:4567,选项写法api:{target:http:jsonplaceholder。typicode。com,changeOrigin:true,rewrite:(path)path。replace(api,)},正则表达式写法fallback。:{target:http:jsonplaceholder。typicode。com,changeOrigin:true,rewrite:(path)path。replace(fallback,)},使用proxy实例api:{target:http:jsonplaceholder。typicode。com,changeOrigin:true,configure:(proxy,options){proxy是httpproxy的实例}},Proxyingwebsocketsorsocket。iosocket。io:{target:ws:localhost:3000,ws:true}}},build:{outDir:build,打包文件的输出目录assetsDir:static,静态资源的存放目录assetsInlineLimit:4096图片转base64编码的阈值},plugins:〔vue(),viteMockServe()〕})小结
  其实日常开发掌握这些配置就足够了,如果遇到特殊的场景我们再去查文档就可以,而不需要一开始就把所有配置都学习一遍。Vite配置整体来说和Webpack大同小异,只不过Vite更傻瓜式,把能做的基本都帮我们做好了。我们只用修改少量配置,甚至不用修改配置,就可以满足日常开发的需求。
  你还知道哪些常用的配置呢,欢迎在评论区留言。也欢迎关注我的合集Vue3特训营,后面我会分享更多Vue3和Vite相关的知识。
  如果本文对你有所帮助,记得点个赞呦!
  参考资料:Vite官方中文文档

psv已成为一代神机哈哈,为了圆自己儿时的梦想,回味那单纯的快乐与兴奋,我从某鱼上又将psv买了回来,为什么说又呢,因为以前我给我儿子在某猫上买了一个psv2000国行版,1500元左右,8g内存,那无叶风扇选购攻略,舒乐氏大宇戴森三款无叶风扇哪一款好?我想说一下我为什么买了无叶风扇因为在广东骄阳似火的夏天,在家里长时间开空调深圳是太贵了!!我一个人住单身公寓,上个月电费就交了七百多!!!!大家都知道,家里的电器,冰箱空调是耗电量2023春夏着穿倒着穿都不奇怪!VIKTORampampampROLF向刻板印象宣战荷兰籍的双人设计师VIKTORROLF在巴黎高级订制服周,向传统服装发表形式宣战,再度颠覆了大家的视野,于是让我们看到的是,模特儿以倒着或是横向的方式呈现品牌最新的订制服系列,有趣诺基亚称王,苹果靠边站,国产无一上榜虽然现在的手机江湖诺基亚已经没有任何存在感,但诺基亚在手机江湖留下的神话还是无人超越的,不信大家看下面的这组数据。这组数据统计的是史上销量最高的20款机型,通过统计可以看到诺基亚真影像升级,三星GalaxyS23Ultra拍摄样张曝光不久前,三星官网显示,三星Galaxy新品发布会将于2月2日凌晨正式到来。按照以往的三星产品发布情况来看,这次活动中三星应该会正式推出全新一代的GalaxyS23系列旗舰。以往的爆两个消息传来,中国在两个高科技行业成功逆袭,连苹果都认可了在高科技行业,中国曾在较长时间内都是处于跟随者的地位,不过如今中国在高科技行业不断取得突破,而近日两个消息传出却证明了中国高科技正取得领先地位,让海外高科技行业颇为瞩目。第一个是面灿芯股份背靠中芯国际,市占率全球第五,毛利率却远低于同行IPO观察图片来源视觉中国日前,灿芯半导体(上海)股份有限公司(简称灿芯股份)向科创板递交了招股书,其闯关科创板IPO进入已问询状态。上海市集成电路行业协会报告显示,灿芯股份2021年占全球2022年度全球累计专利最多的前100家持有者美国商业专利数据库(IFIClaims)发布全球250强专利领导者的数据(2022Global250TheWorldsLargestPatentHolders)。截至2023年1月后燕惠愍帝慕容宝有关历史的哲学,在他的身上体现的淋漓尽致(后燕王朝)十六国时期,北方有一个割据政权,叫做后燕。后燕的都城,是龙城,也就是今天的辽宁朝阳,极盛时,据有今天河北,河南,山东,辽宁,山西的大部分地区,那是相当的有排面。后燕王朝大张庄镇改名为王母镇的建议大张庄镇改名为王母镇的建议中华龙20230126中华龙研究历史文化真的很痴迷!在考察并建议山东沂源燕崖牛郎织女应该在大张庄外,还研究出了周天子周穆王幽会西王母的地址在山东沂源县的大原子弹爆炸时,瞬间跳入水中能否活命?长崎核爆幸存少女给出真相第2次世界大战期间,日本偷袭了美国珍珠港,这让美国人恼羞成怒决定对日本进行打击报复,当时美国人的手中握着世界上最为先进的战争,武器原子弹。1945年8月6日,一架美军轰炸机在日本广
对2023年长治晋城两地元宵节灯展的几点看法作为长治人,2023年元宵节期间第一次没有在本地看任何灯展,虽然听说上党区振兴小镇屯留区石全海有活动,但是因为去年已经去过振兴小镇和石全海,所以吸引力着实不大,路程也不近,征求全家互联网野蛮扩张的时代要结束了,时代在呼唤新的风口到来!这几年出现的互联网寒冬,互联网反垄断,互联网公司腾讯阿里美团等互联网巨头纷纷大裁员,在这个万物复苏之际,互联网行业气息却出现了倒春寒。互联网寒冬时代要开始惩罚互联网了,下一个510ChatGPT出现的喜与忧ChatGPT自2022年11月30日对外发布,截止2023年1月,月活用户已突破1亿,这是迄今为止用户增长速度最快的互联网应用。本文讲ChatGPT出现的喜与忧。喜在于我看到了人关于UNI的治理,你被骗了!CZUniswap是由a16z控制的!事情的起因是这样的,2月1日Crypto媒体TheBlock发布了题为Uniswap的温度检查刺激了加密货币风险投资巨头之间热火朝天的幕后操纵狂潮(原题目是Uniswaptempe九mysql常见的文本函数的应用(replacetrimsubstr等)前言在MYSQL数据库的使用中,业务数据的增删改查离不开数据治理,当然,这就会涉及到数据库系统内置的一些文本处理函数的使用,来实现数据的规范处理,达到业务应用的目的,涉及到的方法可土耳其地震,超2万人死亡,男排5人女排1人丧生,李盈莹躲过一劫根据最新消息,土耳其地震发生后,已经造成超过2万人死亡,震区场景惨不忍睹。由于土耳其排球联赛发展很好,国内有多家顶级俱乐部,但这次地震发生后,不少运动员被掩埋在废墟下,使得该国排球土耳其地震守门员遇难,失联女排队员生还渺茫,中国球员有担当!土耳其在2月6日经历多场强度达到7。8级地震之后,很多民众在地震中被埋或者失联。其中耳其一支女排队伍14名球员都被埋在废墟下,土耳其28岁足球守门员艾哈迈德埃于普图尔卡斯兰在加济安土耳其国家队主帅参与地震捐款活动无论来自哪个国家请提供帮助直播吧2月10日讯土耳其发生大地震之后,土耳其国家队的德国籍主帅斯特凡昆茨呼吁人们为灾区捐款。现年60岁的昆茨曾是德国国脚,退役后执教过德国U21国青队,2021年9月成为土耳其国震前土耳其到底怎么样?并不浪漫!土耳其发生地震了,关注的目光被吸引到土耳其身上,提到土耳其,脑海里首先响起我想要带你去浪漫的土耳其,然后一起去东京和巴黎这首歌,曾经带你去旅行这首歌非常火,给很多人带来了对于土耳其自然景观预测土耳其地震据这儿的老人说,绿翠潭变黄有可能是地震前的预兆,这几天河水变黄,土耳其发生大地震。以前,汶川大地震前此潭水也变黄了。绿翠潭地处蒙自市南部,位于蒙自市冷泉镇,距蒙蛮公路11公里,距蒙科技有狠活中国卫星拍到土耳其地震灾区卫星图遥感技术如何帮助地震救灾封面新闻记者张峥目前国际最高精度的光学遥感卫星数据已经达到亚米级,即低于1米。我国分辨率最高的高分十一号遥感卫星的空间分辨率近距离达到0。1米到0。5米。土耳其大地震发生后,为了迅
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网