vite + vue3 + ts 开发配置 - vue3 项目实战
vite + vue3 + ts 开发配置
.env 文件
Vite 在一个特殊的import.meta.env对象上暴露环境变量。这里有一些在所有情况下都可以使用的内建变量:
- import.meta.env.MODE:{string}应用运行的模式。
- import.meta.env.BASE_URL:{string}部署应用时的基本 URL。他由 base 配置项决定。
- import.meta.env.PROD:{boolean}应用是否运行在生产环境。
- import.meta.env.DEV:{boolean}应用是否运行在开发环境(永远与 import.meta.env.PROD 相反)。
详细查看:https://cn.vitejs.dev/guide/env-and-mode.html#env-files
第一步:项目根目录下,新建.env文件。其内容为指定的,自定义基础网址。
VITE_BASE_URL = https://api.example.com
第二步:项目根目录下,env.d.ts文件中,增加ImportMetaEnv的定义:
/// interface ImportMetaEnv { readonly VITE_BASE_URL: string } interface ImportMeta { readonly env: ImportMetaEnv }
第三步:修改tsconfig.app.json文件:
{ "extends": "@vue/tsconfig/tsconfig.web.json", "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, "lib": ["dom", "esnext"], "types": ["node", "jsdom", "vite/client", "element-plus/global"], "target": "esnext", "module": "esnext", "strict": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] } } }
测试配置文件tsconfig.vitest.json文件,也需要做相应的修改。
{ "extends": "./tsconfig.app.json", "exclude": [], "compilerOptions": { "composite": true, "lib": ["dom", "esnext"], "types": ["node", "jsdom", "vite/client", "element-plus/global"], "target": "esnext", "module": "esnext", "strict": true } }
使用举例
axios.defaults.baseURL = import.meta.env.VITE_BASE_URL;
配置格式化
在项目根目录下,.prettierrc.json文件(若没有则自己新建个)。
{ "semi": true, "singleQuote": true, "printWidth": 200, "endOfLine": "lf" }
在项目根目录中,修改.eslintrc.cjs配置。
rules: { 'prettier/prettier': [ 'warn', { semi: true, singleQuote: true, printWidth: 200, endOfLine: 'lf', }, ], },
配置完毕后,运行命令。格式化文件。
npm run lint
重启编辑软件vscode后生效。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)