vue3.0 使用vite构建工具(开发环境与生产环境)

vue3.0 使用vite 构建工具相关

创建相关文件

在根目录创建以下文件

.env.production(生产环境)
.env.development (开发环境)
.env.staging (预发布/ 可有可无)

在上面文件中添加以下代码

  • .env.production

    # .env.production
    
    NODE_ENV = production
    
    VITE_APP_BASEURL = ''
    
    VITE_APP_CLOUDKEY = ''
    
    
  • .env.development

    # .env.development
    
    NODE_ENV = development
    
    VITE_APP_BASEURL = ''
    
    VITE_APP_CLOUDKEY = ''
    
    
  • .env.production

    # .env.production
    
    NODE_ENV = production
    
    VITE_APP_BASEURL = ''
    
    VITE_APP_CLOUDKEY = ''
    
    

关于package.json 文件中的配置

  • package.json

      "scripts": {
        "dev": "vite",
        "start": "vite --mode production",
        "build": "vite build",
        "build:stage": "vite build --mode staging",
        "build:env": "vite build --mode development",
      }
    
    
  • yarn dev 默认在本地开启测试环境的服务(mode='development'

  • yarn start 在本地开启正式环境服务 (mode='production')

  • yarn build 默认打包到正式环境(基础配置取.env.production 文件中内容)

  • yarn build:env 默认打包到测试环境(基础配置取.env.development文件中内容)

  • yarn build:stage 默认打包到预发布环境(基础配置取.env.stageing文件中内容)

如何获取 .env.XXX 中的内容

  • 通过 import.meta.env获取

  • 文件内容如下

      BASE_URL: "/"
      DEV: false
      MODE: "production"
      PROD: true
      SSR: false
      VITE_APP_BASEURL: ""
      VITE_APP_CLOUDKEY: ""
    
    

如果需要在代码中获取这些变量的提示可以在src目录下创建 env.d.ts 文件

  • 文件内容如下

     interface ImportMetaEnv extends Readonly<Record<string, string>> {
        // 更多环境变量...
        readonly VITE_APP_BASEURL : string
        readonly VITE_APP_CLOUDKEY : string
     }
    
    interface ImportMeta {
        readonly env: ImportMetaEnv
    }
    
    

NODE_ENV的取值

  • development

  • production

  • test

posted @ 2021-10-15 10:09  boyyang  阅读(2909)  评论(0)    收藏  举报
//黑猫咪:https://unpkg.com/live2d-widget-model-hijiki@1.0.5/assets/hijiki.model.json //白猫咪:https://unpkg.com/live2d-widget-model-tororo@1.0.5/assets/tororo.model.json //萌娘:https://unpkg.com/live2d-widget-model-shizuku@1.0.5/assets/shizuku.model.json //狗狗:https://unpkg.com/live2d-widget-model-wanko@1.0.5/assets/wanko.model.json //萌妹1号:https://unpkg.com/live2d-widget-model-z16@1.0.5/assets/z16.model.json //萌妹2号:https://unpkg.com/live2d-widget-model-koharu@1.0.5/assets/koharu.model.json //萌妹3号:https://unpkg.com/live2d-widget-model-hibiki@1.0.5/assets/hibiki.model.json //妹子4号:https://unpkg.com/live2d-widget-model-izumi@1.0.5/assets/izumi.model.json //妹子5号:https://unpkg.com/live2d-widget-model-miku@1.0.5/assets/miku.model.json //6号:https://unpkg.com/live2d-widget-model-nico@1.0.5/assets/nico.model.json //7号:https://unpkg.com/live2d-widget-model-ni-j@1.0.5/assets/ni-j.model.json //8号:https://unpkg.com/live2d-widget-model-nipsilon@1.0.5/assets/nipsilon.model.json //9号:https://unpkg.com/live2d-widget-model-nito@1.0.5/assets/nito.model.json //10号:https://unpkg.com/live2d-widget-model-tsumiki@1.0.5/assets/tsumiki.model.json //11号:https://unpkg.com/live2d-widget-model-unitychan@1.0.5/assets/unitychan.model.json //帅哥1号:https://unpkg.com/live2d-widget-model-chitose@1.0.5/assets/chitose.model.json //帅哥2号:https://unpkg.com/live2d-widget-model-haruto@1.0.5/assets/haruto.model.json