鑳屾櫙鎴戞渶杩戝皢涓€浜沄ue2椤圭洰浠巚ue-cli(webpack)杩佺Щ鍒皏ite銆傚湪绗笁娆¤繖鏍峰仛涔嬪悗锛屾垜瀵硅縼绉昏繃绋嬪仛浜嗕竴浜涜缁嗙殑璁板綍锛屽苟灏嗗湪杩欑瘒鏂囩珷涓繘琛屾€荤粨銆傛枃绔犵洰褰曪細package.jsonindex.htmlvite.config.jstestcaseLintreleasevisualizationBundlesomeindicatorsconclusiontextpackage.jsondevDependenciesdelete@vue/cli-servicedependencyandreplaceitwithvite馃殌npmun@vue/cli-servicenpmivite-D鎮ㄨ繕鍙互鍒犻櫎浠vue/cli-plugin-xxx寮€澶寸殑浠讳綍鍏朵粬寮€鍙戜緷璧栭」锛屽洜涓哄畠浠皢涓嶅啀璧蜂綔鐢紝渚嬪锛歯pmunvue/cli-plugin-babelvue/cli-plugin-eslintvue/cli-plugin-unit-jest濡傛灉浣犱娇鐢ㄧ殑鏄疺ue2锛屾垜浠繕闇€瑕佹坊鍔爒ite-plugin-vue2锛屽湪vite.config.js涓細鐢ㄥ埌锛歯pmivite-plugin-vue2-D鍙﹀锛屽鏋滀綘浣跨敤githooks锛屼綘鍙兘闇€瑕佹槑纭畨瑁厃orkie鎵嶈兘璁╀竴鍒囧儚浠ュ墠涓€鏍峰伐浣溿€俷pmiyorkie-Dscripts鎴戜滑灏唖erve涓殑vue-cli鑴氭湰鏇挎崲鎴恦ite涓搴旂殑鑴氭湰锛氬綋鐒朵綘涔熷彲浠ヤ繚鐣檚erve銆傚叾浠栫殑鑴氭湰锛屾瘮濡俠uild銆乯est銆乴int锛屽悗闈細鎻愬埌銆俰ndex.html缁х画灏唒ublic/index.html绉诲姩鍒伴」鐩殑鏍圭洰褰曘€?锔忊儯鎴戜滑杩樹細娣诲姞vite闇€瑕佺殑鍏ュ彛锛?scripttype="module"src="/src/main.js">2锔忊儯鏈€鍚庯紝鎴戜滑浠庢垜浠殑澶囬€夎矾寰勫浘鏍?%=BASE_URL%>寮€濮媐avicon.ico锛坴ite浼氬湪鎮ㄧ殑鍏叡鏂囦欢澶逛腑涓烘偍鎵惧埌鍥炬爣锛夈€?锔忊儯vite.config.js鎴戜滑闇€瑕佸皢涔嬪墠鐗堟湰鐨剉ue.config.js杞崲涓烘柊鐗堟湰鐨剉ite.config.js銆傝鎴戜滑浠庝互涓嬪嚑琛屽紑濮嬶細import{defineConfig}from'vite'import{createVuePlugin}from'vite-plugin-vue2'exportdefaultdefineConfig({plugins:[createVuePlugin(),],})杩佺Щ鏃讹紝鐢ㄤ簬寮€鍙戝皾璇曞敖鍙兘閫忔槑锛屼竴浜涢厤缃鍜屼箣鍓嶇殑淇濇寔涓€鑷达紝姣斿ports:],server:{port:8080,}})浣犱細鍦ㄨ繖閲屾壘鍒版墍鏈夊彲鑳界殑閰嶇疆閫夐」锛歨ttps://vitejs.dev/config/#co...'@'alias濡傛灉浣犲湪webpack涓娇鐢ㄥ埆鍚嶅鍏ユ枃浠堕偅涔堢幇鍦ㄤ綘闇€瑕侀噸鏂板垱寤哄畠锛歩mport{defineConfig}from'vite'import{createVuePlugin}from'vite-plugin-vue2'exportdefaultdefineConfig({[...],resolve:{alias:[{find:'@',鏇挎崲:path.resolve(__dirname,'src')}]},})".vue"瀵煎叆璺緞浣跨敤webpack鍙互蹇界暐.vue鏂囦欢鍚庣紑锛屼絾鍦╲ite涓笉琛岋紝闇€瑕佸甫涓娿€?/FromimportDotsLoaderfrom'@/components/DotsLoader'//toimportDotsLoaderfrom'@/components/DotsLoader.vue'routelazyloadingsimplified鍦≧oute澹版槑涓紝浣犲彲浠ュ畨鍏ㄥ湴鍒犻櫎webpackChunkName鍙兘鏈夌殑浠讳綍娉ㄩ噴锛屾瘮濡傝繖涓€琛岋細{path:'/links',name:'linksPage',component:()=>import(/*webpackChunkName:"links"*/'./views/LinksPage.vue'),},绠€鍖栦负锛歿path:'/links',name:'linksPage',component:()=>import'./views/LinksPage.vue'),},鎴戜笉鏄繖閲岀殑涓撳锛屼絾鏄鏋滀綘鐪熺殑鎯宠嚜瀹氫箟鍧楋紝鍙互閫氳繃瑕嗙洊鑱氬悎鐨刼utput.entryFileNames鏉ュ疄鐜般€傚彟璇峰弬闃卾itebuild.rollupOptions浠ヤ簡瑙e浣曞皢鏌愪簺閫夐」鐩存帴浼犻€掔粰姹囨€汇€傜幆澧冨彉閲廣ite涓嶈瘑鍒玴rocess.env锛岃€屾槸锛歩mport.meta.env銆備緥濡傦細闇€瑕佹敞鎰忕殑鏄繀椤讳繚璇丯ODE_ENV=production锛岄渶瑕佸湪.env鏂囦欢鎴栬€卲roduction鐜鍙橀噺涓缃€傜湅瀹樻柟鏂囨。锛歨ttps://vitejs.dev/guide/env-...鑷充簬鑷畾涔夌幆澧冨彉閲忥紝鎴戜滑涓嶅啀闇€瑕佸儚浠ュ墠涓€鏍峰姞涓奦UE_APP鍓嶇紑锛岃€屾槸闇€瑕佷娇鐢╒ITE銆備换浣曚互VITE_xxx寮€澶寸殑鍙橀噺閮介渶瑕佸湪浠g爜涓彁渚涖€傛瘮濡?env.local鏂囦欢涓殑涓€涓彉閲忥細VITE_APP_BACKEND_URL=http://localhost:3001testcase鐜板湪鎴戜滑涓嶈兘鍐嶄娇鐢╲ue-cli-servicetest:unit浜嗭紝鎴戜滑閲嶆柊閰嶇疆涓€涓嬨€傞鍏堬紝浣犲彲浠ユ洿鏂版祴璇曡剼鏈細濡傛灉浣犵殑babel.config.js鏂囦欢鍖呭惈绫讳技鍐呭锛歱resets:['@vue/cli-plugin-babel/preset']锛屼綘闇€瑕佸皢鍏舵浛鎹负锛歱resets:['@babel/preset-env']鎴戠殑import.meta.env璇彞涔熸湁閿欒銆備笉骞哥殑鏄紝娌℃湁寮€绠卞嵆鐢ㄧ殑鍗曞厓娴嬭瘯璁剧疆锛屼絾杩欐潯璇勮瀵规垜鏈夊府鍔╋細https://github.com/vitejs/vit...鎴戠殑babel.config.js鏂囦欢鐜板湪鐪嬭捣鏉ュ儚锛歮odule.exports={presets:['@babel/preset-env'],//璁㎎est涓嶈'import.meta.xxx'鐑︽壈plugins:[function(){return{visitor:{MetaProperty(path){path.replaceWithSourceString('process')},},}},],}鎴栬€咃紝鎮ㄥ彲浠ヤ娇鐢ㄦBabel鎻掍欢锛岃鎻掍欢杩樺湪娴嬭瘯涓慨澶嶄簡import.meta锛歨ttps://github.com/javiertury...鍦ㄨ繖閲岋紝鎮ㄥ彲浠ユ寜鐓у叧浜巚ite鍜孞est鐨勪竴浜涜璁猴細https://github.com/vitejs/vit..."regeneratorRuntime"error49|瀵煎嚭甯搁噺鎿嶄綔={>50|init:async({commit},routeContext)=>{ReferenceError:regeneratorRuntimeisnotdefinedregenerator-runtimeinstalledandreferencedinmysetupTests.js,浼间箮宸茬粡瑙e喅浜嗚繖涓棶棰樸€俷pmiregenerator-runtime-D'jest.config.js':module.exports={moduleFileExtensions:['js','json',//鍛婅瘔Jest澶勭悊`*.vue`鏂囦欢'vue',],transform:{//浣跨敤`vue-jest`澶勭悊`*.vue`鏂囦欢'.*\\.(vue)$':'vue-jest',//浣跨敤`babel-jest`澶勭悊`*.js`鏂囦欢'.*\\.(js)$':'babel-jest',},setupFiles:['./setupTests'],moduleNameMapper:{'^@/(.*)$':'
