欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在Vue+Ts+Vite項(xiàng)目中配置別名指向不同的目錄并引用的案例詳解

 更新時(shí)間:2024年01月11日 11:32:30   作者:凌霄玉階非所愿  
這篇文章主要介紹了在Vue+Ts+Vite項(xiàng)目中配置別名指向不同的目錄并引用,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

vite.config.ts配置如下:

import { defineConfig, AliasOptions } from 'vite';
import vue from '@vitejs/plugin-vue';
import path from 'path';
//vue3+vite+ts 配置@時(shí)vscode報(bào)找不到__dirname的問(wèn)題:
//報(bào)錯(cuò)原因:path 模塊是 node.js 的內(nèi)置模塊,而 node.js 默認(rèn)不支持 ts 文件的
//解決:安裝 @type/node 依賴包 npm install @types/node --save-dev 或 cnpm i @types/node --save-dev、pnpm i @types/node --save-dev
export default defineConfig({
  plugins: [vue()],
  resolve: {
    // 這里配置需要注意:Vite新版本resolve配置改為對(duì)象形式,如下:
    alias: [
      {
        find: '@',
        replacement: path.resolve(__dirname, 'src')
      },
      {
        find: 'pub',
        replacement: path.resolve(__dirname, 'public/')
      },
      {
        find: 'comps',
        replacement: path.resolve(__dirname, 'src/components')
      },
      {
        find: 'apis',
        replacement: path.resolve(__dirname, 'src/apis')
      },
      {
        find: 'views',
        replacement: path.resolve(__dirname, 'src/views')
      },
      {
        find: 'routes',
        replacement: path.resolve(__dirname, 'src/router')
      },
      {
        find: 'store',
        replacement: path.resolve(__dirname, 'src/store')
      },
      {
        find: 'utils',
        replacement: path.resolve(__dirname, 'src/utils')
      },
      {
        find: 'styles',
        replacement: path.resolve(__dirname, 'src/styles')
      },
      {
        find: 'layout',
        replacement: path.resolve(__dirname, 'src/Layout')
      },
      {
        find: 'models',
        replacement: path.resolve(__dirname, 'src/models')
      },
      {
        find: 'hooks',
        replacement: path.resolve(__dirname, 'src/hooks')
      }
    ]
  }
});

tsconfig.json中需要配置baseUrl和paths,如下所示:

{
  "compilerOptions": {
    "target": "ES2020",
    "useDefineForClassFields": true,
    "module": "ESNext",
    "lib": ["ES2020", "DOM", "DOM.Iterable"],
    "skipLibCheck": true,
    /* Bundler mode */
    "moduleResolution": "bundler",
    "allowImportingTsExtensions": true,
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "preserve",
    /* Linting */
    "strict": true,
    /*ts中聲明引入未使用的報(bào)錯(cuò)——解決方案----"noUnusedLocals": false*/
    "noUnusedLocals": false,
    "noUnusedParameters": true,
    "noFallthroughCasesInSwitch": true,
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"],
      "pub/*": ["public/*"],
      "comps/*": ["src/components/*"],
      "apis/*": ["src/apis/*"],
      "views/*": ["src/views/*"],
      "routes/*": ["src/router/*"],
      "store/*": ["src/store/*"],
      "utils/*": ["src/utils/*"],
      "styles/*": ["src/styles/*"],
      "layout/*": ["src/Layout/*"],
      "models/*": ["src/models/*"],
      "hooks/*": ["src/hooks/*"]
    }
  },
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
  "references": [{ "path": "./tsconfig.node.json" }]
}

項(xiàng)目中直接引入案例:

// 引入public文件下的json文件示例
import JsonCard from 'pub/json/Card.json';
pub代表在vite.config.ts中配置的,直接指向public目錄
{
        find: 'pub',
        replacement: path.resolve(__dirname, 'public/')
},

DeskTop.vue:

<template>
    <span>這是DeskTop頁(yè)面</span>
    <div class="cardContent">
        <el-card class="box-card" v-for="item in list" :key="item.Icon">
            <CardCom :info="item"></CardCom>
        </el-card>
    </div>
</template>
<script lang="ts" setup>
import { ref, reactive, toRefs, markRaw } from 'vue';
import CardCom from '../../../components/CardCom.vue';
//引入案例
import JsonCard from 'pub/json/Card.json';
const list = ref([
    {
        Title: '新增用戶',
        Icon: 'User',
        Count: 10291
    },
    {
        Title: '未讀消息',
        Icon: 'Message',
        Count: 8912
    },
    {
        Title: '成交金額',
        Icon: 'Money',
        Count: 9280
    },
    {
        Title: '購(gòu)物總量',
        Icon: 'Shop',
        Count: 13600
    }
]);
console.log(list.value);
</script>
<style lang="scss" scoped>
.cardContent {
    width: 100%;
    margin: 0px auto;
    .box-card {
        float: left;
        width: 24%;
        margin-right: 5px;
        margin-bottom: 20px;
    }
    .left,
    .right {
        float: left;
        width: 48%;
        margin-bottom: 20px;
    }
    .lineCard {
        width: 97.5%;
    }
    .right {
        margin-left: 20px;
    }
}
</style>

是可以直接可以讀取到的,如下圖所示:

到此這篇關(guān)于在Vue+Ts+Vite項(xiàng)目中如何配置別名指向不同的目錄并引用的文章就介紹到這了,更多相關(guān)Vue+Ts+Vite項(xiàng)目配置別名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Element-ui自定義table表頭、修改列標(biāo)題樣式、添加tooltip、:render-header使用

    Element-ui自定義table表頭、修改列標(biāo)題樣式、添加tooltip、:render-header使用

    這篇文章主要介紹了Element-ui自定義table表頭、修改列標(biāo)題樣式、添加tooltip、:render-header使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-04-04
  • 詳解vue服務(wù)端渲染(SSR)初探

    詳解vue服務(wù)端渲染(SSR)初探

    本篇文章主要介紹了詳解vue服務(wù)端渲染(SSR)初探,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • uni-app 使用編輯器創(chuàng)建vue3 項(xiàng)目并且運(yùn)行的操作方法

    uni-app 使用編輯器創(chuàng)建vue3 項(xiàng)目并且運(yùn)行的操作方法

    這篇文章主要介紹了uni-app 使用編輯器創(chuàng)建vue3 項(xiàng)目并且運(yùn)行的操作方法,目前uniapp 創(chuàng)建的vue3支持 vue3.0 -- 3.2版本 也就是說(shuō)setup語(yǔ)法糖也是支持的,需要的朋友可以參考下
    2023-01-01
  • vue實(shí)現(xiàn)視頻上傳功能

    vue實(shí)現(xiàn)視頻上傳功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)視頻上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Vue3中reactive丟失響應(yīng)式問(wèn)題詳解

    Vue3中reactive丟失響應(yīng)式問(wèn)題詳解

    在vue3中,如果你用reactive聲明了一個(gè)對(duì)象,用另一個(gè)對(duì)象直接給它賦值,那么它就會(huì)失去響應(yīng)式,下面這篇文章主要給大家介紹了關(guān)于Vue3中reactive丟失響應(yīng)式問(wèn)題的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • Vue中的前端crypto.js加解密

    Vue中的前端crypto.js加解密

    這篇文章主要介紹了Vue中的前端crypto.js加解密問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Vue項(xiàng)目使用CDN優(yōu)化首屏加載問(wèn)題

    Vue項(xiàng)目使用CDN優(yōu)化首屏加載問(wèn)題

    這篇文章主要介紹了Vue項(xiàng)目使用CDN優(yōu)化首屏加載問(wèn)題,本文以vue、vuex、vue-touter為例,給大家介紹處理流程,需要的朋友可以參考下
    2018-04-04
  • 深入理解vue輸入框字符限制的優(yōu)化設(shè)計(jì)方案

    深入理解vue輸入框字符限制的優(yōu)化設(shè)計(jì)方案

    限制輸入框字符是一項(xiàng)需要結(jié)合技術(shù)實(shí)現(xiàn)與用戶體驗(yàn)的綜合設(shè)計(jì),通過(guò)實(shí)時(shí)限制、提交校驗(yàn)與性能優(yōu)化,開(kāi)發(fā)者可以高效解決輸入限制問(wèn)題,同時(shí)提升用戶滿意度和數(shù)據(jù)安全性,本文給大家介紹vue輸入框字符限制的優(yōu)化設(shè)計(jì),感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • Vue3 去除 vue warn 及生產(chǎn)環(huán)境去除console.log的方法

    Vue3 去除 vue warn 及生產(chǎn)環(huán)境去除console.log的方法

    這篇文章主要介紹了Vue3 去除 vue warn 及生產(chǎn)環(huán)境去除console.log的方法,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • Vue使用mixin分發(fā)組件的可復(fù)用功能

    Vue使用mixin分發(fā)組件的可復(fù)用功能

    這篇文章主要介紹了Vue使用mixin分發(fā)組件的可復(fù)用功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09

最新評(píng)論