若想使用vue的UI界面来创建项目,需将vue升级到 3.0以上的版本。不然还是通过vue create 项目名 创建项目吧。
//下载vue最新版
npm i -g @vue/cli 或者 cnpm install -g @vue/cli
//打开ui界面
vue ui
//TypeScript
vue add typescript
//vue-router
npm install vue-router --save
//vuex
npm install vuex
# 安装elementui
npm install element-plus --save
# 或
yarn add element-plus
在main.js(ts)文件中引入
import { createApp } from 'vue'
import App from './App.vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import router from './router'
import store from './store'
createApp(App).use(store).use(router).use(ElementPlus).mount('#app')
在项目中使用
<template>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="date" label="Date" width="180" />
<el-table-column prop="name" label="Name" width="180" />
<el-table-column prop="address" label="Address" />
</el-table>
</template>
<script lang="ts" setup>
const tableData = [
{
date: '2016-05-01',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
}
]
</script>
页面效果
npm run build 项目打包出现空白 和 Eslint 验证问题
在vue.config.js配置
module.exports = defineConfig({
transpileDependencies: true,
// 避免Eslint报错
lintOnSave: false,
//项目打包出现空白
assetsDir: 'static',
parallel: false,
publicPath: './',
})
npm run build 项目打包之后体积过大问题。原文
在package.json中build打包命令后面,添加 --report 可以生成report.html文件,查看项目体积,如:"build": "vue-cli-service build --report",
import { createRouter, createWebHashHistory } from 'vue-router'
const routes = [
{
path: '/',
name: 'gateway',
//按需引入
component: () => import('../views/Gateway.vue')
}
]
const router = createRouter({
history: createWebHashHistory(),
routes
})
export default router
<!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="<%= BASE_URL %>favicon.ico">
<title>标题</title>
<!-- 全局引入 所需外部链接 -->
<!-- Import style -->
<link rel="stylesheet" href="https://unpkg.com/element-plus@2.2.17/dist/index.css" />
<!-- Import Vue 3 -->
<script src="https://unpkg.com/vue@3.2.40/dist/vue.global.js"></script>
<!-- Import component library -->
<script src="https://unpkg.com/element-plus@2.2.17/dist/index.full.js"></script>
<script src="https://unpkg.com/vue-router@4.1.5/dist/vue-router.global.js"></script>
<script src="https://cdn.bootcss.com/axios/0.19.0-beta.1/axios.min.js"></script>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
</body>
</html>
在 vue.config.js 中进行配置
在configureWebpack:中通过externals进行配置,格式为‘XXX’:‘SSS’ 这里 XXX 为引入资源的名称,’SSS‘表示模块提供给外部引用的名称。 这里要注意’SSS‘ 是固定格式 不可自定义。
productionSourceMap: false // 生产环境不产生未加密的map文件。
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
// 避免Eslint报错
lintOnSave: false,
transpileDependencies: true,
assetsDir: 'static',
parallel: false,
publicPath: './',
productionSourceMap: false, // 生产环境不产生未加密的map文件
configureWebpack:{
externals: {
'vue':'Vue',
'vue-router':'VueRouter',
'axios':'axios',
'element-plus':'ElementPlus',
}
},
})
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有