当前位置: 首页 > news >正文

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项目目录结构,以及项目初步

http://www.lryc.cn/news/124923.html

相关文章:

  • Go和Java实现外观模式
  • 人工智能(一)基本概念
  • 〔AI 绘画〕Stable Diffusion 之 解决绘制多人或面部很小的人物时面部崩坏问题 篇
  • 初步认识OSI/TCP/IP一(第三十八课)
  • 英伟达结构化剪枝工具Nvidia Apex Automatic Sparsity [ASP](2)——代码分析
  • FileNotFoundError: [WinError 2] 系统找不到指定的文件。
  • Linux: sysctl:net: IPV4_DEVCONF_ALL ignore_routes_with_linkdown; all vs default
  • 光耦继电器:实现电气隔离的卓越选择
  • 鸿蒙开发学习笔记2——实现页面之间跳转
  • 电子商务类网站需要什么配置的服务器?
  • table 根据窗口缩放,自适应
  • 应急响应-Webshell
  • 【调整奇数偶数顺序】
  • Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
  • 2023-08-11 LeetCode每日一题(矩阵对角线元素的和)
  • Github 80 个键盘快捷键和一些搜索技巧的备忘清单
  • 神经网络基础-神经网络补充概念-08-逻辑回归中的梯度下降算法
  • npm ERR! cb.apply is not a function
  • iShot Pro for Mac 2.3.9最新中文版
  • FiboSearch Pro – Ajax Search for WooCommerce 商城AJAX实时搜索插件
  • k8s dns 解析service异常
  • P6464 [传智杯 #2 决赛] 传送门
  • 如何通过CSS选择器选择一个元素的子元素?如何选择第一个子元素和最后一个子元素?
  • 智能家居(2)---串口通信(语音识别)控制线程封装
  • MySql主从复制1032错误(Slave_IO_Running: Yes Slave_SQL_Running: No)
  • 毕业论文格式设置总结
  • 7-3 整数四则运算
  • React 全栈体系(一)
  • SpringBoot代理访问本地静态资源400 404
  • Java导出数据到Excel