鱼与熊掌可兼得,使用vue的全局构建版和Jquery开发网站

传统开发网站一般使用Jquery来操作dom,现在Jquery虽然还在更新(2024年4月28日),但是感觉还是Vue的响应式好一点,我只需要修改数据源就可以了,UI可以自动刷新,不用再操作dom了。

但是Jquery还是非常强大的。

单独使用Jquery可以享受丰富的Jquery插件,丰富的dom操作api,但是如果页面里想引入公共部分(比如公共Header和公共Footer)就不是很方便了;

单独使用Vue的话,在配合一些UI框架(Element)等,使用起来也不是很方便,不如使用Jquery+JqueryUI(jQuery插件)来的简单

所以就可能既使用Jquery又使用Vue。

平常使用Vue都是结合webpack或者View等构建工具,通过单文件组件(SFC)进行开发,一旦脱离了构建工具,使用全局构建版本,突然就不知道怎么使用Vue了。这篇文章就来纪念一下全局构建版本的基础使用

  1. 在生产环境,建议使用.prod结尾的构建版本
  2. 在全局构建版本里所有顶层 API 都以属性的形式暴露在了全局的 Vue 对象上
  3. 把公共Header和公共Footer单独抽出来,在每个页面引入

代码案例

公共组件jscommon-component.js

复制代码
const Header = {
    template:`
    <div class="wrapper header" id="header">
        <div class="topbanner"></div>
        <ul class="navmenu">
            <li><a href="index.html">网站首页</a></li>
            <li><a href="list-1-1.html">概况</a></li>
            <li><a href="list-6-1.html">要闻</a></li>
        </ul>
    </div>
    `
}

Html页面

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="./css/base.css">
    <script src="./js/jquery-3.6.2.min.js" type="text/javascript"></script>
    <script src="./js/jquery.SuperSlide.2.1.3.js" type="text/javascript"></script>
    <script type="text/javascript" src="./js/vue.3.4.25.js"></script>
    <script type="text/javascript" src="./js/common-component.js"></script>
</head>
<body>
<div id="app">
<page-header></page-header>
<div>count:{{count}}</div>
</div>
<script>
    const {createApp, ref,onMounted} = Vue
    createApp({
        setup() {
            const count = ref(2)
            onMounted(()=>{
                setTimeout(()=>{count.value = 4},2000)
            })
            return {count}
        }
    }).component('page-header', Header).mount("#app")
</script>
</body>
</html>

可以在这个基础之上再结合axios,感觉做网站达到了灵活,快速,可能也利于优化seo。

对于构建小型网站或者想要优化SEO或者不想重新打包文件就可以修改网站内容,那么可以使用这种方式

相关推荐
NiceCloud喜云8 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
wordbaby8 小时前
React Native + RNOH:跨页面数据回传的最佳实践与避坑指南
前端·react native
丷丩8 小时前
MapLibre GL JS第22课:查看本地GeoJSON
前端·javascript·map·mapbox·maplibre gl js
Front思9 小时前
AI前端工程师需要具备能力+
前端·人工智能·ai
ZC跨境爬虫11 小时前
跟着 MDN 学CSS day_29:(掌握文本与字体样式的核心艺术)
前端·css·ui·html·tensorflow
李子琪。12 小时前
网络空间安全深度实战:CSRF 漏洞原理剖析与基于 Token 的纵深防御体系构建(全栈实验报告)
前端·安全·csrf
冰暮流星12 小时前
javascript之history对象介绍
前端·笔记
IT_陈寒13 小时前
Vite热更新失灵?你可能漏了这个配置
前端·人工智能·后端
丷丩13 小时前
MapLibre GL JS第19课:实时更新要素
前端·javascript·gis·map·mapbox·maplibre gl js
Mr.Daozhi13 小时前
RAG 进阶实战:跑通 Demo 后我连续翻了 6 次车,逐一修复才真正可用(含 Gradio Web 版)
前端·数据库·langchain·大模型·gradio·rag·科研工具