.env是作为项目的环境变量的存放文件,用于在不同环境下加载不同的配置。
官方文档:
例如:
其中:
1. .env 文件是无论在那个环境都是会运行的,在变量冲突的情况下特定环境变量文件会覆盖掉.env文件。
2.这里的test,prod,dev都是自定义名字,但是,注意:这几个自定义名字的文件中必须要有 NODE_ENV 这个变量模式(NODE_ENV用于设置vue cli的运行模式)分为三种模式:development , test , production ;三种不同的模式决定了创建哪种webpack 配置。
官方文档:
NODE_ENV 将决定您的应用运行的模式,是开发,生产还是测试,因此也决定了创建哪种 webpack 配置。例如通过将 NODE_ENV 设置为 "test",Vue CLI 会创建一个优化过后的,并且旨在用于单元测试的 webpack 配置,它并不会处理图片以及一些对单元测试非必需的其他资源。同理,NODE_ENV=development 创建一个 webpack 配置,该配置启用热更新,不会对资源进行 hash 也不会打出 vendor bundles,目的是为了在开发的时候能够快速重新构建。当你运行 vue-cli-service build 命令时,无论你要部署到哪个环境,应该始终把 NODE_ENV 设置为 "production" 来获取可用于部署的应用程序。
总结:无论你要部署到哪个环境,应该始终把 NODE_ENV 设置为 "production" 来获取可用于部署的应用程序。
3.在模板中使用环境变量
let apiINFO = import.meta.env.VITE_BASE_URL
以上环境变量文件创建完成后,需要在package.json中进行相应的启动命令配置。
如:
其中:
1. vue-tsc --noEmit 用于ts文件检查 是必须每个组件都要符合 ts 的语法,否则在打包的时候就会报错;如果报错直接去掉这个就行。
2.运行命令 npm run dev或者 npm run test 或者 npm run prod
3.打包命令 npm run build:test 或者 npm run build:prod 或者 npm run build:dev