vuecli启动的服务器位置,VUE启动流程vue-cli

2023-11-04

先后顺序:package.json > webpack.dev.conf.js > config/*.js > config/index.js > index.html > App.vue的export外的js代码 > main.js > App.vue的export里面的js代码 > route 目录下的 index.js > HelloWorld.vue > 组成 index.html 单页SPA应用首页

SPA:单页面web应用,一般整个应用只有一个html页面,通过前端路由实现无刷新跳转。

Vue就是SPA应用的典型代表,特别是配合webpack等前端构建工具,加载页面的时候将JavaScript、CSS统一加载,然后通过监听url的hash实现内容切换。

优点:

无刷新切换内容,提高用户体验。

符合前后端分离的开发思想,通过ajax异步请求数据接口获取数据,后台只需要负责数据,不用考虑渲染。前端使用vue等MVVM框架渲染数据非常合适。

减轻服务器压力,展示逻辑和数据渲染在前端完成,服务器任务更明确,压力减轻。

后端数据接口可复用,设计JSON格式数据可以在PC、移动端通用。

缺点:

不利于SEO(搜索引擎优化),应用数据是通过请求接口动态渲染,不利于SEO。

首页加载慢,SPA下大部分的资源需要在首页加载,造成首页白屏等问题。

package.json

在当前项目执行npm run dev的时候,会寻找 package.json 文件, 包含项目的名称版本、项目依赖等相关信息

"scripts": {

"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",

"start": "npm run dev",

"test": "npm run unit && npm run e2e",

"build": "node build/build.js"

},

webpack.dev.conf.js

build/webpack.dev.conf.js 配置并启动 webpack-dev-server

const utils = require('./utils')

const webpack = require('webpack')

const config = require('../config')

const merge = require('webpack-merge')

const path = require('path')

const baseWebpackConfig = require('./webpack.base.conf')

const CopyWebpackPlugin = require('copy-webpack-plugin')

const HtmlWebpackPlugin = require('html-webpack-plugin')

const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')

const portfinder = require('portfinder')

const HOST = process.env.HOST

const PORT = process.env.PORT && Number(process.env.PORT)

config/*.js

config 目录下服务器环境的配置文件。

config/index.js

index.js 文件中包含服务器 host 和 port 以及入口文件的相关配置,默认启动端口是8080,这里可以进行修改。

host: 'localhost',

port: 8080,

index.html

index.html 的内容很简单,主要是提供一个 div的ID #app 给 vue 挂载。

main.js

main.js 中, 引入了 vue、App 和 router 模块, 创建了一个 Vue 对象,并把 App.vue 模板的内容挂载到 index.html 的 id 为 app 的 div 标签下, 并绑定了一个路由配置。

App.vue

上面 main.js 把 App.vue 模板的内容,放置在了 index.html 的 div 标签下面。查看 App.vue 的内容我们看到,这个页面的内容由一个 logo 和一个待放置内容的 router-view,router-view 的内容将由 router 配置决定。

index.js

查看 route 目录下的 index.js,我们发现这里配置了一个路由, 在访问路径 / 的时候, 会把 HelloWorld 模板的内容放置到上面的 router-view中。

HelloWorld.vue

HelloWorld 中主要是一些 Vue 介绍显示内容。

页面组成

所以,页面关系组成是 index.html 包含 App.vue,App.vue 包含 HelloWorld.vue 。

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

vuecli启动的服务器位置,VUE启动流程vue-cli 的相关文章

随机推荐

  • RabbitMQ系列(二)VirtualHost作用及角色权限管理实战

    VirtualHost 作用及用法 Virtual Hosts的使用场景 多租户的使用场景 比如主机资源紧缺情况下开发和测试共用一个RabbitMQ 可以使用Virtual Hosts将开发和测试隔离开 1 管理界面 2 VirtualHo
  • rust学习网站

    https photino gitbooks io rust notes content programming paradigms html rutst学习网站 https kaisery gitbooks io rust book ch
  • 线性表定义--线性表的顺序存储结构+链式存储结构+循环链表+双向链表

    线性表 一 线性表定义 1 线性表的定义 通过一个例子来体验什么是线性表的定义 小朋友出游排队 谁在谁的前面 谁在谁的后面 保证不会有人丢失 定义 线性表 List 零个或多个数据元素的有限序列 注意 1 线性表是一个序列 也就是说 线性表
  • 【自然语言处理】关系抽取 —— SimpleRE 讲解

    SimpleRE 论文信息 标题 An Embarrassingly Simple Model for Dialogue Relation Extraction 作者 Fuzhao Xue 期刊 ICASSP 2022 发布时间与更新时间
  • 【Ubuntu】安装免费版Typora

    下载deb包 wget https file babudiu com f yXCL Typora Linux 0 11 18 amd64 deb 安装 sudo dpkg i Typora Linux 0 11 18 amd64 deb 参
  • 【蓝桥杯题解】特殊日期(判断合法日期模板)

    对于一个日期 我们可以计算出年份的各个数位上的数字之和 也可以分别计算月和日的各位数字之和 请问从 19001900 年 11 月 11 日至 99999999 年 1212 月 3131 日 总共有多少天 年份的数位数字之和等于月的数位数
  • centos 卸载程序

    1 查询软件列表 rpm qa grep 软件名 2 卸载软件 sudo yum remove 软件名
  • SQLite安装配置详细教程2023版

    前言 SQLite 是一款轻型的数据库 是遵守ACID的关系型数据库管理系统 它的设计目标是嵌入式的 而且已经在很多嵌入式产品中使用了它 它占用资源非常的低 它能够支持Windows Linux Unix等等主流的操作系统 同时能够跟很多程
  • 利用强化学习进行股票操作实战(三)

    与上一篇文章相同之处 对于交易策略 与上一篇文章相同 当发出买入指令时 一次性全部买入 当发出卖出指令时 一次性全部卖出 还没有添加加减仓操作 模型仍然用的是DQN模型 新增内容 在之前的基础上加入了交易手续费 印花税等 在强化学习这个领域
  • 基于FPGA驱动VGA显示图片的小问题

    学习VGA显示图片的过程中 遇到了一个小问题 我在显示屏上开了一个60x60的框 放了一张图片进去显示 但是最终的结果如下图所示 出现了一个竖黑边 看了看代码 分析了一下逻辑没问题 然而看这个显示那肯定是有问题的 然后仿真了一下看看 时序图
  • 在Vue2和Vue3中事件总线的使用与区别

    前提 在Vue升级到3 0版本后 事件总线使用的方式有些许改变 Vue2可以直接使用new Vue 在Vue3中 推荐使用mitt来帮助我们实现全局事件总线和局部事件总线 接下来让我们来对比2和3版本的使用和区别 Mitt是一个微型的 Ev
  • 可靠传输的运输层协议及编程实现

    在计算机网络中 运输层协议负责在通信实体之间提供可靠的数据传输 可靠传输意味着数据的发送方可以确保数据在传输过程中不会丢失 损坏 重复或无序到达接收方 本文将介绍一种常用的可靠传输协议 停等协议 并提供其简单的编程实现 停等协议 Stop
  • STM32 F103C8T6学习笔记4:时钟树、滴答计时器、定时器定时中断

    今日理解一下STM32F103 C8T6的时钟与时钟系统 滴答计时器 定时器计时中断的配置 文章提供原理 代码 测试工程下载 目录 时钟树与时钟系统 滴答计时器 定时器计时中断 测试结果 测试工程下载 时钟树与时钟系统 该系统介绍在 STM
  • “思维导图”常用的快捷键总结

    还记得老师上课说过 你们把那些贴来的东西放在自己的博客上就以为是自己的了吗 其实不然 我们有些时候过于追求是否做了 而没有考虑到做这个的意义何在 正如贾琳同学所说 不要为了做去做 而要将自己做过的东西变成自己所能够吸收的 变成自己前进的 汽
  • 面向组件编程之Unity 5.normalized不改变原向量,Normalize改变原向量

    using System Collections using System Collections Generic using UnityEngine public class TransformFeng2 MonoBehaviour Us
  • Android AlarmManager实现定时任务(也就是闹钟) 附Demo源码

    原文链接https www shanya world archives a7b639d4 html 创建定时任务 Android中的定时任务一般有两种实现方式 一种是使用 Java API 里提供的 Timer 类 一种是使用 Androi
  • 防恶意解析,禁止用IP访问网站的Apache设置+如何阻止网站被恶意反向代理访问

    一般来说 网站可以用域名和IP来访问 你的网站可以通过IP直接访问 本来这没什么问题 但是会有些隐患 由于搜索引擎也会收录你的IP地址的页面 所以同一个页面搜索引擎会重复收录 造成页面的权重不如单个收录高 域名恶意指向的可能 还记得去年还是
  • keepalived + mysql 双主

    在node2 node3上安装mysql并配置主主复制 初始化mysql root node2 mysqlkeepalived mysqld defaults file home mysqlkeepalived my cnf basedir
  • 使用python,dlib,OpenCV提取眼睛,鼻子,嘴唇及下颌

    使用python dlib OpenCV提取眼睛 鼻子 嘴唇及下颌 1 效果图 2 原理 3 源码 参考 上一篇博客中 我们了解了什么是面部标志 以及如何使用dlib OpenCV和Python检测它们 利用dlib的HOG SVM的形状预
  • vuecli启动的服务器位置,VUE启动流程vue-cli

    先后顺序 package json gt webpack dev conf js gt config js gt config index js gt index html gt App vue的export外的js代码 gt main j