0
点赞
收藏
分享

微信扫一扫

Vue3+Element-Plus+TypeScript+Vite2

小布_cvg 2022-01-27 阅读 38

Vue3+Element-Plus+TypeScript+Vite2

Git仓库

Vite 需要node.js版本 >=12.0.0

创建项目

npm init vite@latest
npm install
npm run build
npm run dev

解决"vite use --host to expose"

server:{
    host:'0.0.0.0',
    port:8080,
    open:true
  }

vite配置别名

npm i @types/node --save-dev

resolve:{
    alias:[
      {
        find:'@',
        replacement:resolve(__dirname,"src")
      }
    ]
  }

tsconfig.json
"skipLibCheck": true, // 解决打包报`vue-tsc --noEmit && vite build`的错,忽略所有的声明文件(*.d.ts)的类型检查
    "baseUrl": ".",
    "paths": {
      "@/*":[
        "src/*"
      ]
    }
// ts 排除的文件
"exclude": ["node_modules"]

安装路由 4.x

插件安装
禁用Vetur
安装Vue Language Features (Volar)
安装Element UI Snippets
npm i vue-router@4
src/router/index.ts

安装VueX 4.x

npm i vuex@next --save
src/store/index.ts

安装eslint,sass

npm install --save-dev eslint-plugin-vue
新建 .eslintrc.js
module.exports = {
  root:true,
  parserOptions:{
    sourceType:'module'
  },
  parser:'vue-eslint-parser',
  extends:['plugin:vue/vue3-essential','plugin:vue/vue3-strongly-recommended','plugin:vue/vue3-recommended'],
  env:{
    browser:true,
    node:true,
    es6:true
  },
  rules:{
    'no-console':'off',
    'comma-dangle':[2,'never']//禁止使用拖尾逗号
  }
}

npm i -D sass sass-loader

安装Element-plus

npm install element-plus --save

全部引入
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'

按需导入
自动导入
npm install -D unplugin-vue-components unplugin-auto-import

vite

// vite.config.ts
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default {
  plugins: [
    // ...
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
}

Webpack

// webpack.config.js
const AutoImport = require('unplugin-auto-import/webpack')
const Components = require('unplugin-vue-components/webpack')
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')

module.exports = {
  // ...
  plugins: [
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
}

主页面布局

@/layout/index.vue

Element Plus图标

npm i @element-plus/icons
npm uninstall @element-plus/icons
import {Fold} from '@element-plus/icons'

<el-icon>
  <Fold/>
</el-icon>

项目结构

treer -e ./result.txt -i node_modules
举报

相关推荐

0 条评论