Vite 支持使用特殊的 import.meta.glob 函数从文件系统导入多个模块:const modules = import.meta.glob('./dir/*.js')以上将会被转译为下面的样子:// vite 生成的代码 const modules = { './dir/foo.js': () => import('./dir/foo.js'), './dir/bar.js': () => import('./dir/bar.js') }你可以遍历 modules 对象的 key 值来访问相应的模块:for (const path in modules) { modules[path]().then((mod) => { console.log(path, mod) }) }匹配到的文件默认是懒加载的,通过动态导入实现,并会在构建时分离为独立的 chunk。如果你倾向于直接引入所有的模块(例如依赖于这些模块中的副作用首先被应用),你可以传入 { eager: true } 作为第二个参数:const modules = impor
node:events:504 [0] throw er; // Unhandled 'error' event [0] ^ [0] [0] Error: listen EACCES: permission denied 0.0.0.0:8080 [0] at Server.setupListenHandle [as _listen2] (node:net:1313:21) [0] at listenInCluster (node:net:1378:12) [0] at doListen (node:net:1516:7) [0] at processTicksAndRejections (node:internal/process/task_queues:84:21) [0] Emitted 'error' event on Server instance at: [0] at emitErrorNT (node:net:1357:8) [0] at processTicksAndRejections (node
动态路由主要通过router.addRoute()函数实现。1.路由格式{ name: "user", path: "/system/user", meta: { title: "用户管理", }, component: () => import("@/views/User.vue"), }2.完整代码import Home from "@/components/Home.vue"; import { createRouter, createWebHashHistory } from "vue-router"; //Vite 支持使用特殊的 import.meta.glob 函数从文件系统导入多个模块 const modules = import.meta.glob("../views/**.vue") // 基础路由 const routes = [ {
如何安装Git您可以从官方网站下载并安装Git。如果您在Windows上使用它,请确保将Git添加到环境变量Path中。如果有安装Scoop,您可以使用以下命令直接从终端安装它:scoop install git安装完成后,您可以通过执行以下命令来检查Git是否安装正确:git --version如果您获得当前安装的版本,则安装成功,您就可以开始了。Git基础知识现在让我们通过一些小例子来学习Git的基础知识。首先,让我们讨论如何为代码创建单一的真实来源。在 Git 中,存储代码的地方称为repository。如何初始化一个空的 Git 存储库在项目中使用Git 的第一步是初始化Git存储库。您可以使用以下命令初始化Git存储库:git init #Initialized empty Git repository in C:/Users/Admin/git demo/.git/此命令在当前目录中创建一个子目录.git。它将保存所有内部 Git 元数据,例如提交历史记录。如何在 Git 中暂存更改我们需要创建一些文件来暂存更改并进行提交(我将在下面讨论)。让我们创建test.txt并在其
1.cookie本身不是用于本地存储的,用于浏览器与服务端通信。可用document.cookie = '' 来修改,前后端均可修改。存储大小为4KB,http请求时会携带到服务端,增加服务端压力,请求数据量。修改API不合理。2.localStorage 和 sessionStorageHTML5新增专用于本地存储的,大小为5MB,API简单合理(setItem,getItem),不会随http请求发送。localStorage 永久存储,除非代码删除或手动删除;sessionStorage 会话存储,浏览器关闭会清空;一般localStorage 用的比较多。
// Promise Ajax方法 function ajax(url) { return new Promise((resolve, reject) => { const xhr = new XMLHttpRequest(); xhr.open('GET', url); xhr.onreadystatechange = () => { if (xhr.readyState === 4) { if (xhr.status === 200) { resolve(JSON.parse(xhr.responseText)) } else if (xhr.status === 404) { reject(new Error('404 not found')) } } } xh
1.手写简易Ajax//Ajax - GET请求 const xhr = new XMLHttpRequest(); // true 为异步,false为同步 xhr.open('GET', 'URL', false) xhr.onreadystatechange = () => { if (xhr.readyState === 4) { if (xhr.status === 200) { console.log(xhr.response); } } } xhr.send(null) //Ajax - POST请求 const post = new XMLHttpRequest(); // true 为异步,false为同步 post.open('POST', 'URL', true); post.onreadystatechange = () => { if (xhr.readyState === 4) { if (xhr.status === 200) {
1.事件绑定// 事件绑定 const node = document.getElementById("btn"); node.addEventListener("click", function () { console.log("click"); }, false); //通用事件绑定函数 function addEvent(node, type, handler) { node.addEventListener(type, handler, false); } addEvent(node, "click", function () { event.preventDefault(); //阻止默认事件 console.log("clicked"); })2.事件冒泡事件冒泡:从事件源朝父级一直到根元素(HTML)。当某个元素的某类型事件被触发时,那么它的父元素同类型的事件也会被触发,一直触发到根源上;从具体的元素到不确定的元素。终止事件冒泡:在相
JS基础知识,规定语法(ECMA 262标准);JS-Web-API,网页操作的API(W3C标准)前者是后者的基础一、DOM文档对象模型 (DOM):Document Object Model 1.DOM的本质 DOM是由HTML文件解析出来的一棵树。2.DOM的节点操作//1.获取节点 document.getElementById("id"); //获取id为id的节点 返回节点对象 document.getElementsByTagName("tag"); //获取tag为tag的节点 返回节点集合 document.getElementsByClassName("class"); //获取class为class的节点 返回节点集合 document.querySelector("css选择器"); //获取css选择器为css选择器的节点 返回节点对象 document.querySelectorAll("css选择器")
Gonwe
一念智即般若生。
CC BY-SA 4.0