Vue Cli 4x 新建初始化项目

2023-10-29

vue cli 最新版本已经出到 4.5.8 了, 以往的一些配置,命令可能都不一样了


最新的vue 项目创建不是以往的 vue init webpack “” 这样很可能会一直卡死,所以多看官方文档是很重要的。

那么我们废话不多说,开始教大家新建项目

首先更新 vue-cli

npm install @vue/cli -g

创建项目

vue create 项目名

实战

新建项目
在这里插入图片描述
这里一路回车
在这里插入图片描述
等待依赖安装完成,大概100MB 左右
在这里插入图片描述
创建成功
在这里插入图片描述

运行

npm run serve

打包发布

npm run build

以下是初始化项目常用操作

添加 vue-router
vue add  router

创建 router/index.js

import Vue from 'vue'
import VueRouter from 'vue-router'

// 解决重复路由报错
const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location) {
    return originalPush.call(this, location).catch(err => err)
}
// 引入
Vue.use(VueRouter)
// 路由配置
const routes = [
    {
        path: '/',
        component: ()=>import('@/views/index/index.vue')
    }
]

export default new VueRouter({
    mode: 'history',
    routes
})

添加vuex

创建 store/index.js

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
    state: {
        count: 0
    },
    mutations: {
        increment(state) {
            state.count++
        }
    }
})

进入 App.vue 添加持久化设置,如果不加,刷新界面后 vuex 的数据会丢失

<template>
  <div id="app">
    <router-view />
  </div>
</template>

<script>
export default {
  //进入页面时,合并本地 store
  beforeCreate() {
    this.$store.replaceState(Object.assign({},this.$store.state,JSON.parse(localStorage.getItem('store'))))
  },
  
  mounted() {
    //离开页面时,保存 store
    window.addEventListener("beforeunload",()=>{
      localStorage.setItem('store',JSON.stringify(this.$store.state))
    })
  },
};
</script>

添加常用依赖
npm install  axios  less  less-loader
设置路径别名 @…

创建 vue.config.js

// vue.config.js
const path = require('path');
module.exports = {
    configureWebpack: {
        resolve: {
            alias: {
                "@": path.resolve(__dirname, "./src"),
            }
        }
    },
};

创建 jsconfig.json

{
    "compilerOptions": {
      "baseUrl": "./",
      "paths": {
          "@/*": ["src/*"]
      }
    },
    "exclude": ["node_modules", "dist"]
  }
配置 main.js
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'


Vue.config.productionTip = false

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
配置 App.vue
<template>
  <div id="app">
    <router-view/>
  </div>
</template>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}

html,body,#app{
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}
</style>

封装 axios
import axios from 'axios';

const request = axios.create({
    // axios 全局配置
    timeout: 60 * 1000
})

// 添加请求拦截器
request.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
request.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    return response;
}, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
});


export default request
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue Cli 4x 新建初始化项目 的相关文章

随机推荐

  • 华为OD机试 Python 叠积木

    描述 你手里有一堆砖头 它们都有一样的宽和高 但长度不同 你想用这些砖头堆砌一堵墙 每一层墙可以只用一个砖头 也可以用两个拼接起来 但这两种情况下 每层的长度必须都是一样的 如果你想使用所有的砖头 并堆砌出尽可能多的层数 那么最多可以搭建多
  • 目标检测和分割的区别

    仅作为记录 大佬请跳过 检测是画框 分割是掩膜 检测 分割
  • 【蓄水池抽样】算法入门

    蓄水池抽样 算法知识点学习自宫水三叶大佬 记录一下 方法一 哈希表 如果不考虑数组的大小 我们可以在构造函数中 用一个哈希表 map 记录 nums 中相同元素的下标 对于pick 操作 我们可以从 map 中取出target 对应的下标列
  • linux更改环境变量语言utf8,记Centos修改语言环境变量$LANG不生效原因

    问题背景 编辑 etc locale conf 改成 LANG en US UTF 8 重启服务器后 进入系统 仍然是显示中文 排查分析 复现问题环境 确认当前系统支持 en US UTF 8 语言环境 en US utf8 和 en US
  • Centos 7 设置CA根证书

    root vpn mkdir csk rootca root vpn csk rootca cp a etc pki CA certs certs存放已颁发的证书 root vpn csk rootca cp a etc pki CA ne
  • DOS网络启动盘

    DOS网络启动盘 这张从97年到现在我一直保留并维护的工具盘 也许平时用的机会不多 但总在关键时刻救急 它能帮你在无法通过光驱安装操作系统时 通过网络或USB移动盘把几百兆的Windows系统安装文件复制到本地硬盘来进行安装 当然还可以用它
  • 解决安装visual studio installer 报错,无法下载安装文件的问题

    文章目录 解决安装visual studio installer 报错 无法下载安装文件的问题 Visual Studio 2019下载官网 一 VS2019安装问题 问题 解决方法1 解决方法2 解决方法3 解决方法4 解决方法5 解决方
  • 设计模式(四)单例和简单工厂的融合

    前面三篇文章介绍了三种模式 单例 简单工厂和工厂方法 其中 简单工厂和工厂方法都是基于同一个实际问题 但是 这个例子里有几个问题 1 职工的创建在main函数中 不合理 可能多个函数都会需要访问职工信息 2 职工是程序直接创建的 不合理 一
  • Unity 第一期

    1 让一个物体围绕某一点旋转 有几种方法 分别是什么 旋转函数transform Rotate 来实现 transform的RotateAround vector3 postion vector3 axis float angle 函数 J
  • vad算法 c语言,腾讯视频cKey算法

    接口地址 https vd l qq com proxyhttp 接口参数示例 buid vinfoad adparam pf in ad type LD KB PVL pf ex pc url https v qq com x cover
  • python语言基本控制结构程序异常_Python学习笔记整理(十七)异常处理

    一 异常基础 try except 捕捉由代码中的异常并恢复 匹配except里面的错误 并自行except中定义的代码 后继续执行程序 发生异常后 由except捕捉到异常后 不会中断程序 继续执行try语句后面的程序 try final
  • spark高级数据分析系列之第三章音乐推荐和 Audioscrobbler 数据集

    3 1数据集和整体思路 数据集 本章实现的是歌曲推荐 使用的是ALS算法 ALS是spark mllib中唯一的推荐算法 因为只有ALS算法可以进行并行运算 使用数据集在这里 里面包含该三个文件 表一 user artist data tx
  • Basic Level 1017 A除以B (20分)

    题目 本题要求计算 A B A B A B 其中 A A A是不超过1000位的正整数
  • RabbitMQ高级特性-Confirm确认消息

    Confirm确认消息 消息的确认 是指生产者投递消息后 如果Broker收到消息 则会给我们产生一个应答 生产者进行接收应答 用来确定这条消息是否正常发送到Broker 这种方式也是消息的可靠性投递的核心保障 如何实现Confirm确认消
  • 实战二十二:pytorch transformer 时间序列预测 多变量输入 单变量输出 完整代码数据 可直接运行

    代码演示视频 完整代码 pip install openpyxl i https pypi tuna tsinghua edu cn simple pip install optuna i https pypi tuna tsinghua
  • 电脑端teams一直在线小程序,简单好用易上手

    居家办公的你 会不会想要摸鱼 会不会想要下楼拿快递 会不会想要出去下馆子 然而 teams的5分钟不操作电脑状态就变为离开大大的阻挡了你幸福生活的脚步 不用担心 我来帮助你 只要用了这个脚本 24小时在线都没问题 老板看了直呼靠谱 心动不如
  • Java SpringBoot Spring Cloud 文件上传下载(图片文档上传下载) 以及上传下载文件大小限制.java

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 使用步骤 1 addpicture MultipartFile file 方法 2 download String fileName HttpServle
  • 软考-架构篇-软件架构风格

    概述 软件架构风格分类 数据流风格 批处理序列 管道 过滤器 对比 调用 返回风格 主程序 子程序 面向对象风格 层次结构风格 独立构件风格 虚拟机风格 仓库风格 概述 软件架构设计的一个核心问题是 能否使用重复的软件架构模式 即能否达到架
  • ubuntu16.04升级cmake

    好文章值得分享 https zhuanlan zhihu com p 93480024
  • Vue Cli 4x 新建初始化项目

    vue cli 最新版本已经出到 4 5 8 了 以往的一些配置 命令可能都不一样了 最新的vue 项目创建不是以往的 vue init webpack 这样很可能会一直卡死 所以多看官方文档是很重要的 那么我们废话不多说 开始教大家新建项