vue-cli前端工程化——创建vue-cli工程 router版本的创建 目录结构 案例初步

目录

  • 引出
  • 创建vue-cli前端工程
    • vue-cli是什么
    • 自动构建
      • 创建vue-cli项目
      • 选择Vue的版本号
    • 手动安装
      • 进行选择
      • 创建成功
    • 手动创建router版
      • 多了一个router
    • 运行测试
      • bug解决
  • Vue项目结构
      • main.js
      • package.json
      • vue.config.js
  • Vue项目初步
    • hello案例
  • 总结

引出

1.vue-cli是啥,创建项目的方式;
2.vue项目目录结构,以及项目初步


创建vue-cli前端工程

vue-cli是什么

Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统。Vue CLI 致力于将 Vue 生态中的工具基础标准化。它确保了各种构建工具能够基于智能的默认配置即可平稳衔接,这样你可以专注在撰写应用上,而不必花好几天去纠结配置的问题。

在这里插入图片描述

自动构建

vue create vue-hello2

创建vue-cli项目

在这里插入图片描述

选择Vue的版本号

在这里插入图片描述

在这里插入图片描述

手动安装

在这里插入图片描述

进行选择

在这里插入图片描述

2.0版本

在这里插入图片描述

选择第一个

在这里插入图片描述

模板保存

在这里插入图片描述

创建成功

在这里插入图片描述

手动创建router版

在这里插入图片描述

在这里插入图片描述

多了一个router

在这里插入图片描述

运行测试

npm run serve

在这里插入图片描述

bug解决

如果出现Error: error digital envelope routines::unsupported,在命令行输入

在这里插入图片描述

SET NODE_OPTIONS=--openssl-legacy-provider

Vue项目结构

在这里插入图片描述

文件作用

在这里插入图片描述

在这里插入图片描述

main.js

src/main.js是入口文件,主要作用是初始化vue实例并使用需要的插件

在main.js文件中定义了一个vue对象,其中el为实例提供挂载元素

在这里插入图片描述

运行的流程

在这里插入图片描述

package.json

{
  "name": "hello-worldx",   //项目名称
  "version": "0.1.0",   //项目包版本 「主版本号. 次版本号. 修订号」
  "private": true,  //防止我们意外地将私有库发布到 npm 服务器。
  "scripts": { //scripts 是 package.json 中内置的脚本入口
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build"
  },
  "dependencies": {   //生产环境中所必须的依赖包,将来可以通过这里的配置 下载依赖  dependencies :参与编译和打包
    "core-js": "^3.8.3",
    "register-service-worker": "^1.7.2",
    "vue": "^2.6.14"
  },
  "devDependencies": { //开发阶段需要的依赖包,不参与打包
    "@vue/cli-plugin-babel": "~5.0.0",
    "@vue/cli-plugin-pwa": "~5.0.0",
    "@vue/cli-service": "~5.0.0",
    "less": "^4.0.0",
    "less-loader": "^8.0.0",
    "vue-template-compiler": "^2.6.14"
  },
  "browserslist": [ //告知支持哪些浏览器及版本。
    "> 1%",
    "last 2 versions",
    "not dead"
  ]
}

vue.config.js

如果修改启动的服务端口,可以修改vue.config.js文件

在这里插入图片描述

module.exports ={ 
  devServer:{
    open:true,
    port:8099
  }
}

Vue项目初步

hello案例

在这里插入图片描述

在这里插入图片描述

import Vue from 'vue'
import VueRouter from 'vue-router'
import HomeView from '../views/HomeView.vue'
import Move from '../components/Move.vue'
const Login =  () => import('../components/Login.vue')
const Comdy =  () => import('../components/Comdy.vue')
const Action =  () => import('../components/Action.vue')
const GoodsIndex =  () => import('../components/GoodsIndex.vue')
const GoodsList =  () => import('../components/GoodsList.vue')



Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'home',
    component: Login
  },
  {
    path:'/goodsIndex',
    component: GoodsIndex,
    children:[
      {path:'/', component: GoodsList},
      {path:'/goodsList',name: 'goodsList',component: GoodsList},
    ]
  },


  {
    path: '/about',
    name: 'about',
    // route level code-splitting
    // this generates a separate chunk (about.[hash].js) for this route
    // which is lazy-loaded when the route is visited.
    component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue')
  },
  {
    //导入组件的方法:懒加载,没有点击到对应组件路由,就不会加载到Vue内存中
    //好处:可以节省内存资源
    //应用场景:改组件页面简单,或者访问量不多的(比如注册页面)
    //系统首页不适合做懒加载
    // const Login =  () => import('../components/Login.vue')
    path:'/login',component: Login
  },

  

  //嵌套路由
  {
    path:'/move',component: Move,

    //使用children实现嵌套路由
    children: [
      {path:'/',component: Action},
      {path:'/action',component: Action},
      {path:'/comdy',component: Comdy},

    ],
  }
]

const router = new VueRouter({
  routes
})

export default router

默认登陆页面

在这里插入图片描述

登陆成功后跳转

在这里插入图片描述

<template>
    <div class="login">
        <h1>登陆页面</h1>
        <form>
            账号:<input type="text" name=""/>
            账号:<input type="text" name=""/>
            <input type = "button" value="登陆" @click="login"/>
        </form>
    </div>
</template>


<script>
export default {
    methods:{
        //声明式路由跳转router-link
        //编程式路由跳转this.$router.push()

        login(){
            this.$router.push({path:'/goodsIndex'})
        }
    }


}

</script>


<style>


</style>

在这里插入图片描述


总结

1.vue-cli是啥,创建项目的方式;
2.vue项目目录结构,以及项目初步

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/73790.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

企业数字化转型与股利分配(2007-2021年)

参照李滟&#xff08;2023&#xff09;的做法&#xff0c;本团队对来自西南大学学报&#xff08;社会科学版&#xff09;《企业数字化转型与股利分配》一文中的基准回归部分进行复刻。 企业数字化转型已成为我国经济增长的新引擎和新动力。为探究数字化转型对企业财务决策的影…

Spring之事务管理

文章目录 前言一、事务及其参数含义1.事务的四个特性2.事务的传播行为&#xff08;propagation&#xff09;3.事务隔离性4.事务的隔离级别&#xff08;ioslation&#xff09;5.timeout&#xff08;超时&#xff09;6.readOnly&#xff08;是否只读&#xff09;7.rollbackFor&am…

Android面试官:“来给我讲讲View绘制?”

前言 迎面走来的一位中年男子&#xff0c;他一手拿着保温杯&#xff0c;一手抱着笔记本电脑&#xff0c;顶着惺忪的睡眼&#xff0c;不紧不慢地走着&#xff0c;不多的几根头发在他头顶自由飞翔。过了一会&#xff0c;他面对着我坐下&#xff0c;放下电脑和保温杯&#xff0c;…

SPSS多元线性回归操作入门实例

做农情反演的时候往往需要用到SPSS多元线性回归&#xff0c;这里提供一个操作案例 (一)SPSS安装 关于SPSS安装&#xff0c;请参考本人博客&#xff1a;保姆级SPSS图文安装教程_追忆苔上雪的博客-CSDN博客 (二)SPSS多元线性回归实例 在文章ArcGIS入门操作手册_追忆苔上雪的博…

Apache Maven简介安装及系统坏境配置eclipse配置Apache Maven---详细介绍

一&#xff0c;简介 Maven可以简化项目的构建和依赖管理&#xff0c;并提供了一种规范化和可复用的方式来管理Java项目。它广泛应用于Java开发领域&#xff0c;简单来说&#xff1a;它提供了一个简单而强大的方式来管理项目的构建、依赖关系和文档在企业级项目中被广泛采用。 1…

如何预防ssl中间人攻击?

当我们连上公共WiFi打开网页或邮箱时&#xff0c;殊不知此时可能有人正在监视着我们的各种网络活动。打开账户网页那一瞬间&#xff0c;不法分子可能已经盗取了我们的银行凭证、家庭住址、电子邮件和联系人信息&#xff0c;而这一切我们却毫不知情。这是一种网络上常见的“中间…

Java多线程编程中的线程控制:挂起、停止和恢复

Java 线程控制&#xff1a;挂起、停止和恢复 在多线程编程中&#xff0c;对线程进行控制是非常重要的&#xff0c;可以通过挂起、停止和恢复线程来实现对线程的管理。本文将介绍如何使用Java提供的方法对线程进行挂起、停止和恢复操作&#xff0c;以及需要注意的安全性和替代方…

一位年薪50W的测试被开除,回怼的一番话,令人沉思

一位年薪35W测试工程师被开除回怼道&#xff1a;“反正我有技术&#xff0c;在哪不一样” 一技傍身&#xff0c;万事不愁&#xff0c;当我们掌握了一技之长后&#xff0c;在职场上说话就硬气了许多&#xff0c;不用担心被炒&#xff0c;反过来还可以炒了老板&#xff0c;这一点…

【Linux操作系统】深入理解Linux系统编程中的传入参数、传出参数和传入传出参数

在Linux系统编程中&#xff0c;函数的参数扮演着至关重要的角色。参数的传递方式可以分为传入参数、传出参数和传入传出参数。本文将详细解释这三种参数的概念、特点以及如何使用它们来实现灵活和高效的函数调用和数据传递。 文章目录 1. 解释和举例1.1 传入参数&#xff08;i…

Python 3 使用Hadoop 3之MapReduce总结

MapReduce 运行原理 MapReduce简介 MapReduce是一种分布式计算模型&#xff0c;由Google提出&#xff0c;主要用于搜索领域&#xff0c;解决海量数据的计算问题。 MapReduce分成两个部分&#xff1a;Map&#xff08;映射&#xff09;和Reduce&#xff08;归纳&#xff09;。…

电脑合上盖子无线网络不会断开

控制面板\硬件和声音\电源选项\系统设置 最终选择不会采取任何操作 选择不会采取任何操作

限流在不同场景的最佳实践

目录导读 限流在不同场景的最佳实践1. 前言2. 为什么要限流3. 有哪些限流场景3.1 限流场景分类3.2 限流与熔断降级之间的关系3.3 非业务限流3.4 业务限流 4. 有哪些限流算法4.1 计数器限流算法4.2 漏桶限流算法4.3 令牌桶限流算法4.4 滑动时间窗限流算法4.5 限流算法选型 5. 限…

嵌入式 C 语言程序数据基本存储结构

一、5大内存分区 内存分成5个区&#xff0c;它们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 1、栈区(stack)&#xff1a;FIFO就是那些由编译器在需要的时候分配&#xff0c;在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。 ​…

Stable Diffusion AI绘图教学

课程介绍下载 这门课程将教授学生使用Stable Diffusion AI绘图工具进行数据可视化和图形设计。学生将学习基本的绘图原理、数据分析技巧&#xff0c;以及如何使用Stable Diffusion AI创建高质量的图表和可视化作品。通过实践项目和案例研究&#xff0c;学生将提升绘图技能&…

FlexRay汽车总线静电防护,如何设计保护方案图?

FlexRay是一种高速、实时、可靠、具备故障容错能力的总线技术&#xff0c;是继CAN和LIN总线之后的最新研发成果。FlexRay为线控应用&#xff08;即线控驱动、线控转向、线控制动等&#xff09;提供了容错和时间确定性性能要求。虽然FlexRay将解决当前高端和未来主流车载网络的挑…

.gitignore匹配规则

目录 1.直接一个名称2.斜杠 /3.符号 *4.问号 &#xff1f;5.感叹号 &#xff01;6.gitkeep 借鉴抖音账号&#xff1a; 渡一前端提薪课 1.直接一个名称 会忽略目录下的所有该名称文件和文件夹&#xff0c;无论嵌套多深。 2.斜杠 / 1.斜杠在开头(/dist)&#xff1a;忽略和.gitig…

【Kubernetes】Kubernetes的调度

K8S调度 一、Kubernetes 调度1. Pod 调度介绍2. Pod 启动创建过程3. Kubernetes 的调度过程3.1 调度需要考虑的问题3.2 具体调度过程 二、影响kubernetes调度的因素1. nodeName2. nodeSelector3. 亲和性3.1 三种亲和性的区别3.2 键值运算关系3.3 节点亲和性3.4 Pod 亲和性3.5 P…

Python 图形界面框架TkInter(第八篇:理解pack布局)

前言 tkinter图形用户界面框架提供了3种布局方式&#xff0c;分别是 1、pack 2、grid 3、place 介绍下pack布局方式&#xff0c;这是我们最常用的布局方式&#xff0c;理解了pack布局&#xff0c;绝大多数需求都能满足。 第一次使用pack&#xff08;&#xff09; import …

Web3.0:重新定义互联网的未来

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Web3.0&#xff1a;重新定义互联网的未来 Web3.0是指下一代互联网&#xff0c;也称为“分布式互联网”。相比于Web1.0和Web2.0&#xff0c;Web3.0具有更强的去中心化、…

LVS简介及LVS-DR搭建

目录 一. LVS简介&#xff1a; 1.简介 2. LVS工作模式&#xff1a; 3. LVS调度算法&#xff1a; 4. LVS-DR集群介绍&#xff1a; 二.LVS-DR搭建 1.RS配置 1&#xff09;两台RS&#xff0c;需要下载好httpd软件并准备好配置文件 2&#xff09;添加虚拟IP&#xff08;vip&…