【vue3项目初始化配置】vue3 + element plus

这篇具有很好参考价值的文章主要介绍了【vue3项目初始化配置】vue3 + element plus。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目初始化是开发过程中很重要的一个环节,本篇博客带大家从零开始创建并初始化一个vue3项目,文章详细介绍了每个步骤,希望能帮助刚接触开发的小伙伴。

目录

一.创建项目

二.安装插件

 ​编辑

​编辑三.安装依赖

​编辑 ​编辑四.配置项目

配置vu.config.js文件

 配置axios

配置路由·


一.创建项目

1.在终端(cmd)输出命令 vue ui

【vue3项目初始化配置】vue3 + element plus,vue.js,前端,javascript

如果输入命令没有反应,可以用 vue-h 查看有没有 ui [options]这个选项

 【vue3项目初始化配置】vue3 + element plus,vue.js,前端,javascript如果没有则输入

cnpm i -g @vue/cli        // 回车
vue -h            // 这时有ui[options]了

【vue3项目初始化配置】vue3 + element plus,vue.js,前端,javascript

在cmd输入:vue ui 就可以成功启动Vue项目管理器了!

【vue3项目初始化配置】vue3 + element plus,vue.js,前端,javascript2.选择项目存储位置,创建项目

【vue3项目初始化配置】vue3 + element plus,vue.js,前端,javascript

3.输入项目名称,选择包管理容器,这里我选择的是·pnpm(大家随意)。

【vue3项目初始化配置】vue3 + element plus,vue.js,前端,javascript

4. 我在这里又选了Router、Babel、Linter/Formatter,大家可跟具体情况而定
点击回车,进入下一层选择。【vue3项目初始化配置】vue3 + element plus,vue.js,前端,javascript

5.版本选择vue3 ,路由选择hash(hash和history最直观的区别是hash的ur多个#),linter/formatter选择   ESLint + Standard config  

? Pick a linter / formatter config:
  ESLint with error prevention only  // 只进行报错提醒
  ESLint + Airbnb config             // 不严谨模式
  ESLint + Standard config           // 正常模式
  ESLint + Prettier                  // 严格模式

【vue3项目初始化配置】vue3 + element plus,vue.js,前端,javascript

然后点创建项目,会有一个是否保存为预设,建议保存,下次直接使用这个已经配好的模版,不用在重新配置了。

【vue3项目初始化配置】vue3 + element plus,vue.js,前端,javascript

二.安装插件

 

安装elment plus,也可以安装别的,个人推荐安装这个。

 【vue3项目初始化配置】vue3 + element plus,vue.js,前端,javascript

点按需导入,全部导入内存很大,影响性能。

 【vue3项目初始化配置】vue3 + element plus,vue.js,前端,javascript

 安装axios(axios时目前最流行的ajax封装库之一,用于很方便地实现ajax请求的发送) 



// 使用npm 安装
npm install axios
//或者 使用yarn 安装
yarn add axios

 

三.安装依赖

【vue3项目初始化配置】vue3 + element plus,vue.js,前端,javascript

主要安装less 和less-loader,这样就可以写less了。(记得点开发时依赖)

 四.配置项目

配置vu.config.js文件

【vue3项目初始化配置】vue3 + element plus,vue.js,前端,javascript

1、publicPath 部署应用包的基本Url
部署应用包的基本 Url ,默认 “/” ,

可以设置为 相对路径 "./"【 建议 】,这样打出来的包,可以部署到任意路径上

module.exports = defineConfig({
    transpileDependencies: true,
    publicPath: process.env.NODE_ENV === "production" ? "./" : "/"
}

2elment plus 自动导入配置,这样就不用再手动导入。

在终端执行(npm install -D unplugin-vue-components unplugin-auto-import)
【vue3项目初始化配置】vue3 + element plus,vue.js,前端,javascript

在 vue 里面配置,不能把官网提供的代码直接复制过来,需要调整一下。先引入相关依赖,plugins 外面加多一个configureWebpack对象

const { defineConfig } = require('@vue/cli-service')
const AutoImport = require("unplugin-auto-import/webpack");
const Components = require("unplugin-vue-components/webpack");
const { ElementPlusResolver } = require("unplugin-vue-components/resolvers");
module.exports = defineConfig({
  transpileDependencies: true,
  configureWebpack: {
    plugins: [
      AutoImport({
        resolvers: [ElementPlusResolver()],
      }),
      Components({
        resolvers: [ElementPlusResolver()],
      }),
    ],
  },
});


报错解决
报错 1:AutoImport is not a function
解决:是 unplugin-auto-import版本高了,我用的0.17.3。后面降版本,改成0.16.7,这个问题就不报错了。

报错2:Components is not a function
解决:unplugin-vue-components 版本也高了,从0.26.0 降到了 0.25.2 ,就能正常运行了
 

 配置axios

1.根据不同的环境自动匹配url

import axios from 'axios'
// 给 axios 设置请求根路径
const baseUrl = process.env.NODE_ENV === 'development' ? 'http://localhost:8080/' : 'http://***.com'
axios.defaults.baseURL = baseUrl

2.

全局引入axios
如果想要全局引入axios,我们可以借助 vue 提供的 provide 和 inject 方法来实现

在main.js中使用 provide 方法 注入axios,代码如下

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import axios from 'axios'
// 给 axios 设置请求根路径
const baseUrl = process.env.NODE_ENV === 'development' ? 'http://localhost:8080/' : 'http://***.com'
axios.defaults.baseURL = baseUrl
const app = createApp(App)
app.provide('$axios', axios)
app.use(router).mount('#app')
在需要使用axios的页面使用 inject 方法调用即可

const axios = inject('$axios')
const response = await axios.get('/api')
console.log(response.data);
配置路由·

vue3实现详情页返回列表页,返回原来列表页滚动条所在的位置
首先在路由文件的meta里面定义

meta: {
    keepAlive: false,
},

  {
    path: '/detail',
    name: 'detail',
    component: () => import('../views/detail.vue'),
    meta: {
      keepAlive: true //需要缓存
    }
  },


第二步
在app.vue 根文件下定义代码

<template>
    <keep-alive>
        <router-view v-if="route.meta.keepAlive" />
    </keep-alive>
    <router-view v-if="!route.meta.keepAlive" />
</template>

<script setup>
import { useRoute } from "vue-router"
const route = useRoute()
</script>


第三步
在列表页面定义

import { onBeforeRouteLeave } from "vue-router"
import { onActivated } from "vue"

onBeforeRouteLeave((to, from, next) => {
    /判断跳转的页面是否为详细,是的话则储存当前页面的高度
    if (to.path === '/details') {
        //这里用的session来存的,当然也可以用vuex 或 pinia 或其它方法
        sessionStorage.setItem('scrollTop', window.pageYOffset)  
    } else {
        sessionStorage.setItem('scrollTop', 0) 
    }
    next();
})
onActivated(() => {  
    setTimeout(() => {
        let scrollPosition = sessionStorage.getItem('scrollTop')
        // console.log('我执行了', scrollPosition);
        window.scrollTo(0, scrollPosition)
    }, 300)
})



第四步
在详情页面定义文章来源地址https://www.toymoban.com/news/detail-802249.html

import { onBeforeRouteLeave } from "vue-router"

onBeforeRouteLeave((to, from, next) => {
    //判断返回的页面 是否为列表页,是则添加缓存的组件
    if (to.path === '/list') {
        to.meta.keepAlive = true
    } else {
        to.meta.keepAlive = false
    }
    next();
})

到了这里,关于【vue3项目初始化配置】vue3 + element plus的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 黑马程序员前端 Vue3 小兔鲜电商项目——(二)初始化项目

    黑马程序员前端 Vue3 小兔鲜电商项目——(二)初始化项目

    Vue3是Vue.js最新的主要版本,它已经于2020年9月18日发布。它提供了许多新功能和性能改进,这些改进使得Vue更易于使用和更具可扩展性。 以下是Vue3的一些主要特性: 更快的渲染:Vue3使用重写的响应式系统,它使用Proxy对象来解决Vue2中的性能瓶颈问题。这使得Vue3的渲染速度比

    2024年02月11日
    浏览(21)
  • 手摸手教你Vite+Vue3项目初始化及开源部署到GItee

    手摸手教你Vite+Vue3项目初始化及开源部署到GItee

    本片文章主要记录项目的环境,项目搭建。 在开始本次学习中,鉴于你有前端三件套和vue的知识基础。 文档创建于2023年5月20日,大家都去过情人节了~我在肝代码! 环境的搭建 node版本使用18.16.0。 目前(2023.05.20)的稳定版本,这里推荐使用nvm来管理node的版本。Nvm使用教程

    2024年02月04日
    浏览(15)
  • 基于VUE3+Layui从头搭建通用后台管理系统(前端篇)一:项目规划及初始化

    基于VUE3+Layui从头搭建通用后台管理系统(前端篇)一:项目规划及初始化

      使用vue3+Layui实现通用管理系统前端,使用vue3+layui搭建系统UI界面,使用nodejs搭建模拟web服务器,使用echarts实现系统可视化模块,可以此项目为基础进行扩展开发,快速搭建管理系统,具体内容如下:    1. 常见功能实现: 实现用户登录(用户名密码登录、手机验证码

    2024年02月13日
    浏览(14)
  • Vue3+Vite 初始化Cesium

    git

    2024年02月11日
    浏览(7)
  • Vue3 从初始化到首次渲染发生了什么?

    本文从createApp开始简要分析都做了些什么。位置在packages/runtime-dom/src/index.ts  思维导图:  Mind Mapping Software: Mind Maps | MindMeister 1.createApp 初始化时首先调用了 createApp  ,通过 createRenderer 创建了一个渲染器   baseCreateRenderer 方法非常长,包含了渲染器的所有方法,createApp是 crea

    2024年02月11日
    浏览(11)
  • Vue初始化项目加载逻辑

    Vue初始化项目加载逻辑

    项目创建 我们只需要创建项目即可,剩余的依赖都没必要安装 我们先来看main.js,咱们加了一行备注 通过备注可知,我们首先加载的是App.vue 我们再来看一下App.vue 里都有啥 也就是下面这个红框里的内容才是 那下面的内容是哪里来的呢 那就需要看一下路由设置了 我们看到/目

    2024年02月08日
    浏览(8)
  • 构建vue初始化项目:vue create 命令构建vue项目

    构建vue初始化项目:vue create 命令构建vue项目

    首先找到自己的文件夹 1.创建vue项目: vue create vue 2.选择Manually select features自定义创建 3.选择vue版本(这里选择的是vue2) 4. 5. 6. 7. 8创建完成 创建完项目后先删除node_modules然后执行 npm设置淘宝镜像加速:npm config set registry https://registry.npm.taobao.org 然后再执行 npm安装: npm install

    2024年02月08日
    浏览(10)
  • 微信小程序项目初始化配置

    微信小程序项目初始化配置

    注:该文章用于记录或学习交流 微信小程序项目初始化配置准备,包括项目创建,基础路径配置,组件库安装,接口请求封装,部分实用组件封装等 创建初始项目后,对项目文件结构重新梳理 注:目录结构根据个人需求创建,assets和static文件夹的区别详见 assets与static的区别

    2023年04月08日
    浏览(12)
  • 【vue3】优雅的解决reactive()响应式对象初始化重新赋值问题v2

    关联的上篇文章: 【vue3】优雅的解决reactive()响应式对象初始化重新赋值问题_vue3 reactive重新赋值_oumae-kumiko的博客-CSDN博客 在上面该文章提到了reactive该api的不方便之处和相关重置数据方法的解析。下面提供的方法就是自己封装的`$reactive`方法,通过该方法返回响应式数据和重

    2024年02月15日
    浏览(11)
  • Vue2电商前台项目——项目的初始化及搭建

    Vue2电商前台项目——项目的初始化及搭建

    Vue基础知识点击此处——Vue.js 使用脚手架创建项目,在需要放置项目的目录下打开cmd输入: 这个name是项目名(我的项目名是potato-mall 创建有问题或者不太熟悉的具体参考之前的脚手架配置笔记 1、脚手架目录介绍 项目创建成功后,点开项目目录,会出现以下文件: 这些文件

    2024年02月09日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包