首页 > 其他分享 >nuxt3_配置环境变量

nuxt3_配置环境变量

时间:2024-03-29 12:34:22浏览次数:27  
标签:Object nuxt3 配置 dev env NUXT local 环境变量 nuxt

配置.env文件

  • 在根目录下添加不同的环境文件

  • .env.dev

    • NUXT_PUBLIC_API_BASE=http://192.168.110.209:8000
      NUXT_API_KEY=my-api-key-dev
      NUXT_TEST_VARIABLE=dev
      NUXT_TEST_TEST_VARIABLE=ZZYY
      NUXT_ENVIRONMENT=development
      
  • .env.local

    • NUXT_PUBLIC_API_BASE=http://127.0.0.1:3055
      NUXT_API_KEY=my-api-key-local
      NUXT_TEST_VARIABLE=local
      NUXT_TEST_TEST_VARIABLE=ZZYY
      NUXT_ENVIRONMENT=development
      
  • .env.prod

    • NUXT_PUBLIC_API_BASE=http://xxx.com
      NUXT_ENVIRONMENT=production
      

配置nuxt.config.ts

  • runtimeConfig: {
      // 以下变量只能在服务端使用
      apiSecret: '',
      apiKey: '',
      testVariable: '',
      // testTestVariable:'', // 变量必须在nuxt.config.js中声明才可以使用
      // public 下的变量可以在客户端和服务端使用
      public: {
        apiBase: '',
      },
    },
    
  • 需要注意的是: 只有在runtimeConfig中声明了的变量才能够被使用, 且public对象中的变量是服务器端与客户端均能使用, 但是其它变量只能服务器端使用

配置package.json

"build": "nuxt build --dotenv .env.prod",
"dev": "nuxt dev --dotenv .env.dev",
"local": "nuxt dev --dotenv .env.local",

获取环境变量

  • 启动开发环境

    • pnpm run dev
  • /page/login.vue页面中打印useRuntimeConfig()

  • <script setup>
    // page/login.vue
    console.log(useRuntimeConfig())
    </script>
    
  • // 打印结果, 成功获取到.env.dev文件中的apiBase变量
    {
        "public": {
            "apiBase": "http://192.168.110.209:8000"
        },
        "app": {
            "baseURL": "/",
            "buildAssetsDir": "/_nuxt/",
            "cdnURL": ""
        }
    }
    
  • /server/api/xxx.js中打印useRuntimeConfig()

  • export default defineEventHandler(async event => {
      console.log(useRuntimeConfig(event))
      
    })
    
  • {
      app: { baseURL: '/', buildAssetsDir: '/_nuxt/', cdnURL: '' },       
      nitro: {
        envPrefix: 'NUXT_',
        routeRules: {
          '/__nuxt_error': [Object],   
          '/': [Object],
          '/m': [Object],
          '/m/login': [Object],        
          '/_nuxt/builds/meta/**': [Object],
          '/_nuxt/builds/**': [Object] 
        }
      },
      public: { apiBase: 'http://192.168.110.209:8000' },
      apiSecret: '123',
      apiKey: 'my-api-key-dev',        
      testVariable: 'dev'
    }
    
    • 在上面的打印中可以看到服务器端准确读取到了所有在nuxt.config.ts文件中声明的变量, 并获取到了.env.dev文件中赋值的值, 同时也可以注意到, 在.env.dev文件中赋值的NUXT_TEST_TEST_VARIABLE=ZZYY并没有被获取到, 因为在nuxt.config.ts文件中并没有声明这个变量
  • 启动本地环境, 查看/server/api/xxx.js中的打印, 验证是否成功获取到.env.local中的赋值

    • pnpm run local

    • // /server/api/xxx.js 文件中的打印
      {
        app: { baseURL: '/', buildAssetsDir: '/_nuxt/', cdnURL: '' },       
        nitro: {
          envPrefix: 'NUXT_',
          routeRules: {
            '/__nuxt_error': [Object],   
            '/': [Object],
            '/m': [Object],
            '/m/login': [Object],        
            '/_nuxt/builds/meta/**': [Object],
            '/_nuxt/builds/**': [Object] 
          }
        },
        public: { apiBase: 'http://127.0.0.1:3055' },
        apiSecret: '123',
        apiKey: 'my-api-key-local',      
        testVariable: 'local'
      }
      

标签:Object,nuxt3,配置,dev,env,NUXT,local,环境变量,nuxt
From: https://www.cnblogs.com/lei0906/p/18103582

相关文章

  • Docker Compose 中的网络配置和优先级管理
    DockerCompose中的网络配置和优先级管理DockerCompose是一个用于定义和运行多容器Docker应用程序的工具。它使用YAML文件来配置应用程序的服务,网络和卷。DockerCompose中的网络配置允许您定义容器之间以及与外部网络的连接。网络类型DockerCompose支持以下......
  • 配置修改Vim编辑器中TAB键的缩进长度
    配置修改Vim编辑器中TAB键的缩进长度有时候在使用vim编辑器进行编辑时发现,tab键的缩进长度太大,造成代码阅读编辑不方便,可以按照以下步骤配置修改vim编辑器的tab键缩进。一、使用vim打开配置文件~/.vimrc。(如果该文件不存在可以自己新建一个)二、在文件的末尾添加新行,内容如下......
  • 使用屏幕变式控制SAP ERP系统操作界面字段的必输(配置标准界面)
    使用事务代码(SHD0)创建屏幕变式来进行控制。下面通过一个实际的项目案例来介绍下如何使用屏幕变式控制用户操作界面的字段的必输、显示或隐藏。采购发票校验业务操作需要防止发票重复校验,常用解决方案需要在发票校验时输入发票号作为重复录入的一个判断依据,一般会把“参照”字段......
  • 在Linux中,如何配置和管理LVS集群?
    配置和管理LinuxVirtualServer(LVS)集群涉及以下几个主要步骤:环境准备:操作系统:确保所有参与集群的节点运行兼容的Linux发行版,如CentOS、Ubuntu等。内核支持:确认内核版本支持LVS所需的IP负载均衡模块,如IPVS(IPVirtualServer)。对于较新的内核,IPVS通常已集成。若需编译内核,请......
  • 网络工程师之路由交换组合配置知识点相关技术方法解析
    网络工程师之路由交换组合配置相关技术方法解析交换机部分配置参数vlanif的配置环回的配置vlanbatch配置允许通过trunk口ospf的配置disospfpeerbdisipconospf带宽:默认100bandwidth-reference10000{所有运行ospf的都改}100/10010000/100备份配置:创......
  • docker-compose配置rocketmq5.1.4
    在学习roketmq期间,先自己搭建一套rocketmq的运行环境至关重要!因此就有了以下这篇博客先安装docker和docker-compose,这里认为你已经会了根据需要,先创建一个网络dockernetworkcreaterockermq编写docker-compose.yml文件version:"3"networks:default:#......
  • Linux下opencv环境配置
    1.准备工作(1)更新下环境sudoapt-getupdatesudoapt-getupgrade(2)安装编译器和构建工具等,若已安装,跳过即可sudoapt-getinstall-yg++#Ubuntu自带gccsudoapt-getinstall-ycmakesudoapt-getinstall-ymakesudoapt-getinstall-ywgetsud......
  • Ubuntu22.04下Issac Gym/宇树机器人RL&gcc/g++,CUDA,CUDA ToolKit,Pytorch配置环境配
    前置条件本随笔写作Condition:在本人3050Ti笔记本上配好环境后,再在室友4060笔记本上边配边记录整理所得。室友的系统已经配好了相应驱动,因此,本随笔内容基于已经安装了NVIDIA显卡驱动的系统。下次搞到没装驱动的系统我再补一个随笔。宇树机器人宇树科技的文档中心有一个简单的安......
  • 思科交换机导入配置后无法正常启动
    将配置导入设备后(没进行showboot查看)无法启动Console口接入回显:switch:在此输入bootflash:/packages.conf这条命令switch:bootflash:/packages.conf加载成功后,输入console密码,enable密码,输入bootsystemflash:/packages.confshowrun查看一下,......
  • Camera Sensor接口配置
    参考资料:极客笔记 以ov7251的cpp接口文件为例,编译生成so库文件//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Copyright(c)2018QualcommTechnologies,Inc.//AllRightsRe......