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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值