vue3+ts如何全局使用import.meta

1、根目录下新建.env.development.env.production

文件名必须是这样定义,否则读取不到

其中写node环境变量和其它变量
其它变量必须要以VITE_开头

NODE_ENV = "development"
VITE_BASE_URL = "http://127.0.0.1:3333"

   
   

    2、在tsconfig.json中添加"types": [ "vite/client" ],用来提供import.meta.env Vite 注入的环境变量的类型定义

    "compilerOptions": {
    	"types": [  "vite/client" ]
    }
    
       
       

      3、在src目录下env.d.ts中添加以下代码,可以在在代码中获取这些以 VITE_ 为前缀的用户自定义环境变量的 TypeScript 智能提示

      interface ImportMetaEnv {
      	readonly VITE_BASE_URL: string
      }
      interface ImportMeta {
        readonly env: ImportMetaEnv
      }
       
      interface ImportMeta {
        readonly env: ImportMetaEnv
      }
      
         
         

        踩坑:如果不配置2、3点的话的话可能就会出现以下ts错误提示:类型ImportMetaEnv上不存在属性"env"。 如果配置后仍然报错,需要重启编辑器

        4、使用import.meta.env.VITE_BASE_URL获取环境变量

        console.log(import.meta.env.VITE_BASE_URL) 
        // http://127.0.0.1:3333
        
           
           

          5、通过
          --mode development--mode production
          package.json中配置模式

          
            "scripts": {
              "dev": "vite --mode development --open",
              "build": "vue-tsc --noEmit && vite build",
              "build:prod": "vue-tsc --noEmit && vite build --mode production",
              "preview": "vite preview",
            },
          
             
             
            • 0
              点赞
            • 0
              收藏
              觉得还不错? 一键收藏
            • 0
              评论
            为了在Vue 3项目中使用TypeScript和Webpack,并且正确地生成.d.ts声明文件,你需要按照以下步骤进行配置: 1. 安装依赖: ```bash npm install --save-dev typescript ts-loader vue-loader@next @types/vue @vue/compiler-sfc ``` 2. 创建`tsconfig.json`文件: 在项目根目录下创建一个名为`tsconfig.json`的文件,并添加以下内容: ```json { "compilerOptions": { "target": "esnext", "module": "esnext", "strict": true, "jsx": "preserve", "moduleResolution": "node", "resolveJsonModule": true, "esModuleInterop": true, "lib": ["esnext", "dom"], "skipLibCheck": true, "forceConsistentCasingInFileNames": true }, "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "tests/**/*.ts", "tests/**/*.tsx"] } ``` 3. 配置Webpack: 在Webpack配置文件中,添加对TypeScript和Vue文件的处理规则。例如,如果你使用的是`webpack.config.js`文件,可以按照以下示例进行配置: ```javascript const path = require('path'); module.exports = { // ...其他配置 resolve: { extensions: ['.js', '.ts', '.vue'], alias: { '@': path.resolve(__dirname, 'src') } }, module: { rules: [ { test: /\.tsx?$/, loader: 'ts-loader', exclude: /node_modules/, options: { appendTsSuffixTo: [/\.vue$/] } }, { test: /\.vue$/, loader: 'vue-loader' } ] }, // ...其他配置 }; ``` 4. 添加Vue文件声明: 在项目的`src`目录中,为Vue文件添加一个`.d.ts`的同名文件。例如,对于`HelloWorld.vue`组件,创建一个名为`HelloWorld.vue.d.ts`的文件,并添加以下内容: ```typescript declare module '*.vue' { import { ComponentOptions } from 'vue'; const componentOptions: ComponentOptions; export default componentOptions; } ``` 5. 构建项目: 运行Webpack构建命令,以启动TypeScript编译和生成声明文件: ```bash npm run build ``` 如果一切顺利,你的Vue 3 + TypeScript项目应该可以成功编译,并且在构建过程中会生成相应的.d.ts声明文件。 希望以上步骤可以帮助你配置Vue 3 + TypeScript + Webpack项目的.d.ts声明文件。如果有任何问题,请随时追问!
            评论
            添加红包

            请填写红包祝福语或标题

            红包个数最小为10个

            红包金额最低5元

            当前余额3.43前往充值 >
            需支付:10.00
            成就一亿技术人!
            领取后你会自动成为博主和红包主的粉丝 规则
            hope_wisdom
            发出的红包
            实付
            使用余额支付
            点击重新获取
            扫码支付
            钱包余额 0

            抵扣说明:

            1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
            2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

            余额充值