vue3 jsx項目webpack改造vite

1、根目錄新建文件 vite.config.ts

import { resolve } from 'path';
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import vueJsx from '@vitejs/plugin-vue-jsx';
import pluginStyleImport from 'vite-plugin-style-import';
import { viteRequire } from 'vite-require';

// https://vitejs.dev/config/
export default defineConfig({
  base: './',
  server: {
    port: 8902,
  },
  build: {
    outDir: resolve(__dirname, './dist'),
    assetsDir: 'static',
    rollupOptions: {
      output: {
        chunkFileNames: 'static/js/[name]-[hash].js',
        entryFileNames: 'static/js/[name]-[hash].js',
        assetFileNames: 'static/[ext]/[name]-[hash].[ext]',
      },
    },
    terserOptions: {
      // 清除console和debugger
      compress: {
        drop_console: true,
        drop_debugger: true,
      },
    },
  },
  resolve: {
    alias: [
      { find: '@', replacement: resolve(__dirname, 'src') },
      { find: /^~/, replacement: '' },
    ],
  },
  define: {
    // .env環(huán)境變量這里定義兼容
    'process.env': {
      VUE_APP_ENV: 'prod',
    },
  },
  css: {
    preprocessorOptions: {
      less: {
        javascriptEnabled: true,
      },
    },
  },
  plugins: [
    vue(),
    vueJsx(),
    // 兼容vite不支持require
    viteRequire(),
    pluginStyleImport({
      // ant-design-vue樣式按需加載
      libs: [
        {
          libraryName: 'ant-design-vue',
          esModule: true,
          resolveStyle: (name) => {
            return `ant-design-vue/es/${name}/style/css`;
          },
        },
      ],
    }),
  ],
});

2、安裝依賴

npm i --D vite @vitejs/plugin-vue @vitejs/plugin-vue-jsx vite-plugin-style-import@^1.4.1 vite-require

3、將/public/index.html文件移動至項目根目錄

并在<div id="app"></div>后追加<script type="module" src="./src/main.ts"></script>

如:

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width,initial-scale=1.0" />
    <link rel="icon" href="/favicon.ico" />
    <title>示例</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="./src/main.ts"></script>
    <!-- built files will be auto injected -->
  </body>
</html>

4、修改package.json文件scripts

// 原scripts
"scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
}
// 修改后scripts
"scripts": {
    "preview": "vite preview --host",
    "serve": "vite --host",
    "build": "vite build",
}

5、運行

npm run serve

Vite 不再支持 Node 12 / 13 / 15,因為上述版本已經(jīng)進入了 EOL 階段?,F(xiàn)在你必須使用 Node 14.18+ / 16+ 版本。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容