npm的一些使用
package.json 配置 使用github的组件 支持github的 username/modulename 的写法,#后边可以加后缀写明分支hash或标签 git://github.com/iview/iview#2.0 { "name": "iview", "dependencies": { ...
package.json 配置 使用github的组件 支持github的 username/modulename 的写法,#后边可以加后缀写明分支hash或标签 git://github.com/iview/iview#2.0 { "name": "iview", "dependencies": { ...
一、基础 整体架构与主要文件 微信小程序采用双线程架构,分为渲染层(WebView 渲染 WXML 和 WXSS)和逻辑层(JavaScriptCore 运行逻辑),两者通过微信提供的机制通信。数据和逻辑在逻辑层,视图在渲染层。 主要文件: app.js:小程序的入口文件,定义全局逻辑和 App 实例。 app.json:全局配置文件,设置页面路径、窗口样式等。 app....
Gulp 基础 Gulp的核心作用 Gulp 是一个基于流(Stream)的自动化构建工具,依赖 Node.js 运行。它通过任务(Task)定义一系列文件操作(如压缩、合并、转换),以提高开发效率和代码质量。 核心作用: 自动化任务:自动执行文件处理,如 Sass 编译、JS 压缩、图片优化。 流式处理:通过管道(pipe)处理文件,避免临时文件,性能优于基于文件系统的工具...
Vuex 的核心模块分别是: state(状态) - Vuex 的数据存储中心,存放所有共享的应用状态(类似组件的 data)。 getters(派生状态) - 允许我们基于 state 计算派生出新的数据(类似 computed)。 mutations(同步更改状态) - 只能通过 mutation 修改 state,且必须是同步的。 actions(异步逻辑) - 提...
Vue 2 如何重写数组方法? Vue 2 通过 Array.prototype 继承的方式,创建了一个 自定义的数组原型对象,然后让响应式数组继承这个对象,并在其中拦截了能够修改数组的方法,如 push、pop、shift、unshift、splice、sort 和 reverse。 核心代码 以下是 Vue 2 源码中关于 数组方法劫持 的核心代码: // src/core/ob...
作用: $attrs:包含父组件传递给子组件的所有未被声明为 props 的属性(除 class 和 style 外)。它帮助实现属性的透传,简化多层组件间的数据传递。 $listeners:包含父组件传递给子组件的所有事件监听器(不包括 .native 修饰的事件)。它用于透传事件,方便子组件触发父组件的事件。 适用场景: 多层组件嵌套:当需要将父组件的属性或事件透...
什么是 Redux? Redux 是一个基于 JavaScript 的状态容器,深受 Flux 架构启发。它通过单一数据源(Single Source of Truth)和不可变状态(Immutable State)管理应用状态。Redux 的核心理念是单一数据流,所有状态变化都通过 action 和 reducer 集中处理。 核心概念 Store:应用状态的单一存储,所有状态保...
React Router 是一个用于 React 应用的客户端路由库。它允许在单页应用(SPA)中实现页面导航和 URL 管理,与 React 的组件化开发无缝集成。 作用: 声明式路由:通过组件配置路由规则,简化页面切换逻辑。 URL 同步:保持 UI 与浏览器 URL 的同步,支持前进/后退。 嵌套路由:支持多级页面结构,适合复杂应用。 基本用法: React R...
一、keep-alive 的作用是什么? 在 Vue 应用中,当项目中切换组件(比如通过 v-if 或路由切换)时,默认情况下组件会被销毁和重新创建。这虽然能保证状态的隔离,但如果组件内容复杂(比如包含大量数据或 DOM 元素),频繁的销毁和创建会带来性能开销。 keep-alive 的主要作用是缓存被包裹的组件实例,避免每次切换时都重新渲染。被 keep-alive 包裹的组件在切换时...
PropTypes 是 React 中一个非常重要的功能,它的主要作用是进行组件属性的类型检查,以确保组件接收到的 props 是符合预期类型的。 以下是 PropTypes 的主要作用和使用方法: PropTypes 的主要作用 类型检查:在开发环境中验证传递给组件的 props 是否为期望的数据类型。 文档作用:为组件提供自文档的能力,其他开发者...