Vue开发过程中那些易混淆的知识点

news/2024/7/10 0:23:26 标签: vue, 前端框架

vue & vue cli

  • Vue CLI = Vue + 一堆的js插件
  • Vue CLI是基于 Node.js 开发出来的工具,它是一个官方发布 vue.js 项目脚手架,可以快速搭建 Vue 开发环境以及对应的 webpack 配置,单独编译,单独部署。可以再集成各种第三方插件,扩展出更多的功能
  • Vue是渐近式框架,你可以用它一个功能,也可以用全家桶。比如你可以在老的jsp或thymeleaf项目里,引入vue.js,只用它核心的数据绑定功能
  • 版本号对应:
    Vue CLI 4.5以下,对应的是Vue2
    Vue CLI 4.5及以上,对应的是Vue3,当然,创建项目的时候可以选择Vue2

vue-cli & webpack

vue-cli是基于nodejs+webpack封装的命令行工具。你可以理解为汇集了各种命令的 bash,或者bat。用vue-cli执行npm run build,实际上是通过webpack做的。原本需要自己配置webpack的相关配置,被cli简化了。并且按照vue的用户习惯整理了一套构建和目录规范。

WebPack核心功能就是项目打包:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式以供浏览器使用。
 

webpack & babel

  • babel是js编译工具,能将es6或者一些特殊语法做一些转换
  • webpack 能做的事情比较多,它可以加载很多的loader处理js,css,img,ts,vue等文件,最终输出js文件。

注意:在项目中webpack在进行打包时都会结合babel使用

vue-cli & vite

  • Vue CLI 是官方提供的基于 Webpack 的 Vue 工具链,是目前整个前端使用最多的构建工具,它现在处于维护模式
  • Vite 官方的定位:下一代前端开发与构建工具,是一个轻量级的、速度极快的构建工具

创建vue项目脚手架方式

  • 使用vuecli: vue create projectname
    • vue create 是vue-cli3.x的初始化方式
  • npm init vue@latest
    • 这个方法创建的是最新版vue,创建项目命令后面跟的是项目名称,但是我们需要注意的是,项目名中不能有大写字母。
  • npm init vite huangxiaomi3 -- --template vue
    • 通过vite作为构建项目工具

注意:vue init 是vue-cli2.x的初始化方式

vue & js & html

多页面开发模式下的某功能前端页面目录

在前后端分离的多页面开发模式下,我们常常对每个功能页面创建一个main.js入口文件和一个index.html文件以及App.vue单文件入口组件。

  • index.html作用  :作为模板对象
  • main.js作用:实例化vue(以及其他额外初始化的功能,比如国际化),并对App.vue组件进行注册;
  • App.vue组件:功能模块的实现(通常为了复用以及方便维护,注册其他功能组件)

通过npm run build命令将项目打包后,最终会将vue转换为js,我们在后台各个功能模块下的html中引入这些js即可,最终和后台代码一起部署到远程服务器即可。

<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:th="http://www.thymeleaf.org"
	xmlns:layout="http://www.ultraq.net.nz/web/thymeleaf/layout"
	xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
<head>
<!-- 可以單獨重新設置頁面標題 -->
	<title>XXX</title>
	<!-- 可以單獨重新設置頁面描述 -->
	<meta name="description" content="测试管理" />
	<!-- 可以于此處添加其他樣式和腳本  -->
	<script th:inline="javascript">
	//将权限变量挂载到window上,以供vue上使用
	window.permissionHandle = /*[[${field}]]*/ false;
	</script>
    <script defer="defer" type="module" th:src="@{/assets/module-js/js/test.js}"></script>
    <link th:href="@{/assets/module-js/css/test.css}" rel="stylesheet">
    <script defer="defer" th:src="@{/assets/module-js/js/test.js}" nomodule></script>
</head>
<body>
    <!-- 請將自定義的頁面內容放置于此處 -->
    <div id="app">
    </div>
</body>
</html>


http://www.niftyadmin.cn/n/251482.html

相关文章

java定义一个无参的构造方法和一个接收两个参数的构造方法

Java中定义无参构造方法和有参构造方法的语法如下&#xff1a; public class MyClass {// 无参构造方法public MyClass() {// 构造方法体&#xff08;可以为空&#xff09;}// 有参构造方法public MyClass(int arg1, String arg2) {// 构造方法体&#xff08;可以包含初始化代…

vue3组件间怎么通信?简述一下通信方式

在写 vue3 的项目中&#xff0c;我们都会进行组件通信&#xff0c;除了使用 pinia 公共数据源的方式除外&#xff0c;我们还可采用那些更简单的API方法呢&#xff1f;给大家介绍介绍几种父子组件和子父组件通信的方式。 1、父子组件通信 1.1 defineProps 父子组件通信我们第一…

mybatis模糊查询以及结果封装详解

mybatis模糊查询以及结果封装详解 创建maven项目&#xff1a;项目结构如图所示 准备数据库表&#xff1a; 准备pom.xml所需的依赖&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0…

English Learning - L2 语音作业打卡 助动词弱读 Day58 2023.4.19 周三

English Learning - L2 语音作业打卡 助动词弱读 Day58 2023.4.19 周三 &#x1f48c;发音小贴士&#xff1a;&#x1f48c;当日目标音发音规则/技巧:&#x1f36d; Part 1【热身练习】&#x1f36d; Part2【练习内容】&#x1f36d;【练习感受】☕今日练习句子&#xff1a;Wha…

IIC协议——同步半双工串行通信方式

文章目录 前言一、简要介绍1、优点2、缺点 二、信号线和连接方式1、信号线2、连接方式2.1 单主设备&#xff0c;单从设备2.2 单主设备&#xff0c;多从设备2.3 多主设备&#xff0c;多从设备 三、数据传输格式1、数据传输过程 二、SPI配置1、传输模式2、地址位宽3、仲裁机制3.1…

leetcode两数、三数、四数之和

如有错误&#xff0c;感谢不吝赐教、交流 文章目录 两数之和题目方法一&#xff1a;暴力两重循环&#xff08;不可取&#xff09;方法二&#xff1a;HashMap空间换时间 三数之和题目方法一&#xff1a;当然是暴力破解啦方法二&#xff1a;同两数之和的原理&#xff0c;借助Has…

【Vue已解决】阻止Vue在启动时生成生产提示

介绍 这里是小编成长之路的历程&#xff0c;也是小编的学习之路。希望和各位大佬们一起成长&#xff01; 以下为小编最喜欢的两句话&#xff1a; 要有最朴素的生活和最遥远的梦想&#xff0c;即使明天天寒地冻&#xff0c;山高水远&#xff0c;路远马亡。 一个人为什么要努力&a…

GEE:Gmeans图像分割

G-means是一种聚类算法,它是基于K-means算法的改进版本。K-means算法的一个主要缺点是需要事先指定聚类的数量,而G-means算法则可以自动确定聚类的数量。 G-means算法使用了类似于K-means的迭代过程,但在每次迭代时,它会检查每个聚类是否可以继续细分为两个子聚类。这个检…