最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vite.config.ts配置之自動導入element-puls方式

 更新時間:2023年10月10日 08:52:19   作者:成序猿@  
這篇文章主要介紹了vite.config.ts配置之自動導入element-puls方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

根據(jù)Elementplus UI 配置組件及樣式的自動導入

自動導入推薦

首先你需要安裝unplugin-vue-components 和 unplugin-auto-import這兩款插件

npm install -D unplugin-vue-components unplugin-auto-import

然后把下列代碼插入到你的 Vite 或 Webpack 的配置文件中

Vite

// vite.config.ts
import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
export default defineConfig({
  // ...
  plugins: [
    // ...
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
})

這樣配置太過簡單,你會發(fā)現(xiàn)目錄會多出兩個文件,auto-imports.d.ts和components.d.ts。

他們的作用就是不需要開發(fā)者手動導入,你所使用的組件庫和依賴都會在這里看到。

如下components.d.ts文件。

如果只是以上簡單的配置auto-imports.d.ts你會發(fā)現(xiàn)他是一個空文件,所以還需要你加配置,配置如下:

dts配置生成文件的路徑,默認是根路徑。

但是使用默認路徑會存在問題,頁面會報依賴未定義的錯誤,放到src下會解決這一問題。

如果不想放在src下,你可以修改tsconfig文件,

如下配置

"include": [
    "src/**/*.ts",
    "src/**/*.d.ts",
    "src/**/*.tsx",
    "src/**/*.vue",
    "src/style/blackTheme.scss"
  ]

因為ts只配置了src下的.d.ts文件,自動生成的文件和sec同級所以報錯,將src/**/*.d.ts改為**/*.d.ts即可

imports配置可以自動引入的依賴,我配置的是vue,vue-router,axios等,配置完成以后,他會將你配置的依賴顯示到auto-imports.d.ts中,

同時設(shè)置vueTemplate:true,在頁面使用(ref,reactive)時不在需要引入。

    AutoImport({
      resolvers: [ElementPlusResolver()],
      dts: "src/auto-imports.d.ts",
      include: [
        /\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
        /\.vue$/,
        /\.vue\?vue/, // .vue
        /\.md$/, // .md
      ],
      vueTemplate: true,
      imports: [
        "vue",
        "vue-router",
        "vue/macros",
        // custom
        {
          "@vueuse/core": [
            // named imports
            "useMouse", // import { useMouse } from '@vueuse/core',
            // alias
            ["useFetch", "useMyFetch"], // import { useFetch as useMyFetch } from '@vueuse/core',
          ],
          axios: [
            // default imports
            ["default", "axios"], // import { default as axios } from 'axios',
          ],
        },
      ],
    }),
    Components({
      // allow auto load markdown components under `./src/components/`
      extensions: ["vue", "md"],
      // allow auto import and register components used in markdown
      include: [/\.vue$/, /\.tsx$/, /\.vue\?vue/, /\.md$/],
      resolvers: [ElementPlusResolver()],
      dts: "src/components.d.ts",
    }),

如果你想使用$ref也可以配置好,無需在自己引入了。

$ref定義的變量不需要.value哦

vue({
      include: [/\.vue$/, /\.md$/],
      // 可以使用$ref
      reactivityTransform: true,
    }),

注意:

自動引入會出現(xiàn)一些樣式的丟失,如:ElMessage、ElNotification等,解決方法如下,在vite.config.ts中進行如下配置。

這里會用到vite-plugin-style-import插件,自己下載即可。

 import {
  createStyleImportPlugin,
  ElementPlusResolve,
} from "vite-plugin-style-import";
// 解決message和notification引入不生效問題
    createStyleImportPlugin({
      resolves: [ElementPlusResolve()],
    }),

想要動態(tài)改變?yōu)g覽器中title,可以使用vite-plugin-html,可以進行title的動態(tài)配置, 然后可以在index.html根目錄下進行渲染了

如下:

createHtmlPlugin({
      inject: {
        data: {
          title: "vite+vue3+ts",
          description: "系統(tǒng)",
          version: "1.0.1",
        },
      },
    }),
<title><%-title%></title>

配置全局的css、less、scss,可以如下配置:我在項目main.ts引入了樣式所以這里注釋了

css: {
    preprocessorOptions: {
      // less: {
      // 全局添加less
      // additionalData: `@import '@/assets/styles/common/var.less';`,
      // javascriptEnabled: true,
      // },
    },
  },

然后就是打包時代碼的一些配置了。

配置去除console.log、debugger以及注釋等。

 /** Vite 2.6.x 以上需要配置 minify: "terser", terserOptions 才能生效 */
    minify: "terser",
    /** 在打包代碼時移除 console.log、debugger 和 注釋 */
    terserOptions: {
      //打包后移除console和注釋
      compress: {
        drop_console: false,
        drop_debugger: true,
        pure_funcs: ["console.log"],
      },
      format: {
        /** 刪除注釋 */
        comments: false,
      },
    },

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue.use的原理和設(shè)計源碼探究

    Vue.use的原理和設(shè)計源碼探究

    這篇文章主要為大家介紹了Vue.use的原理和設(shè)計源碼探究詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • vue項目打包并部署到Linux服務(wù)器的詳細過程

    vue項目打包并部署到Linux服務(wù)器的詳細過程

    我們在會開發(fā)項目的同時,也應(yīng)該了解一下項目是如何部署到服務(wù)器的,下面這篇文章主要給大家介紹了關(guān)于vue項目打包并部署到Linux服務(wù)器的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Vue3.0導出數(shù)據(jù)為自定義樣式Excel的詳細實例

    Vue3.0導出數(shù)據(jù)為自定義樣式Excel的詳細實例

    在許多的后臺系統(tǒng)中少不了導出Excel表格的功能,下面這篇文章主要給大家介紹了關(guān)于Vue3.0導出數(shù)據(jù)為自定義樣式Excel的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • vue中播放rtsp流的方法實例詳解

    vue中播放rtsp流的方法實例詳解

    最近有個需求是前端在瀏覽器顯示攝像頭傳回的RTSP視頻流,下面這篇文章主要給大家介紹了關(guān)于vue中播放rtsp流的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • Vue簡明介紹配置對象的配置選項

    Vue簡明介紹配置對象的配置選項

    我們知道每一個vue項目應(yīng)用都是通過vue的構(gòu)造函數(shù)進行創(chuàng)建一個新的vue項目的。創(chuàng)建vue實例的配置對象,可以包括一下屬性選項,比如:data、methods、watch、template等等,每一個選項都有不同的功能,大家可以根據(jù)自己的需求選擇不同的配置
    2022-08-08
  • vue.js實現(xiàn)刷新當前頁面的方法教程

    vue.js實現(xiàn)刷新當前頁面的方法教程

    這篇文章主要給大家介紹了關(guān)于vue.js實現(xiàn)刷新當前頁面的方法教程,文中給出了詳細的示例代碼供大家參考學習,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編一起來學習學習吧。
    2017-07-07
  • Element樹形控件el-tree實現(xiàn)一鍵全選、反選功能

    Element樹形控件el-tree實現(xiàn)一鍵全選、反選功能

    最近做的項目用到了全選全不選功能,于是就自己動手寫了一個,這篇文章主要給大家介紹了關(guān)于Element樹形控件el-tree實現(xiàn)一鍵全選、反選功能的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • elementUI動態(tài)表單?+?el-select?按要求禁用問題

    elementUI動態(tài)表單?+?el-select?按要求禁用問題

    這篇文章主要介紹了elementUI動態(tài)表單?+?el-select?按要求禁用問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 手把手教你拿捏vue?cale()計算函數(shù)使用

    手把手教你拿捏vue?cale()計算函數(shù)使用

    這篇文章手把手教你拿捏vue?cale()計算函數(shù)使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Element ui table表格內(nèi)容超出隱藏顯示省略號問題

    Element ui table表格內(nèi)容超出隱藏顯示省略號問題

    這篇文章主要介紹了Element ui table表格內(nèi)容超出隱藏顯示省略號問題,具有很好的參考價值,希望對大家有所幫助,
    2023-11-11

最新評論

柯坪县| 轮台县| 岚皋县| 巩义市| 平顶山市| 莆田市| 凤城市| 连南| 仁化县| 武强县| 河池市| 城市| 宁阳县| 贵南县| 通州市| 塘沽区| 齐河县| 西充县| 彰武县| 永城市| 榆林市| 五原县| 于都县| 徐闻县| 景洪市| 古交市| 七台河市| 西贡区| 巴林右旗| 灌云县| 黄浦区| 东阳市| 太湖县| 海林市| 青浦区| 牡丹江市| 丰县| 望奎县| 牙克石市| 扎兰屯市| 荥阳市|