前言 网上关于使用 rollup 打包 vue 组件的资料寥寥可数,而且很多都是重复转载,故记录下 rollup 打包的踩坑之路,最终打包成一个可供 vue 项目使用的公共组件。 rollup 插件 rollup: rollup核心包rollup-plugin-buble: 类似babel的工具,比babel轻rollup-plugin-co...
rollup 打造自己的 javascript 武器库
初始化项目 mkdir ife-utils cd ife-utils npm init -y rollup安装与使用 npm i rollup -g # 全局安装 npm i rollup -D # 项目本地安装 javascript 武器库 // src/index.js /** * @desc 判断两个数组是否相等 * @param {Array} arr1 * ...
npm scripts设置环境变量,NODE_ENV
windows set NODE_ENV=production "scripts": { "build": "set NODE_ENV=production && rollup -c", "dev": "set NODE_ENV=development && rollup -wc", } linux & mac export NODE_ENV=production "scripts": { "build": "...
vue 之 hook 运用
监听组件生命周期 mounted () { this.timer = setInterval(() => { this.count++ }, 1000) }, beforeDestroy () { console.log('beforeDestroy => 销毁定时器') clearInterval(this.timer) } 利用 hook ,也可以这样,是不是代码整洁度瞬间上来了。...
Javascript数据结构之树、二叉树
树 树是一种分层数据的抽象模型。 一个树结构包含一系列存在父子关系的节点。每个节点都有一个父节点(除了顶部的第一个节点)以及零个或多个子节点。 二叉树和二叉树搜索 二叉树中的节点最多只能有两个子节点:一个左侧子节点,另一个是右侧子节点。 二叉树搜...
JavaScript代码出现栈溢出之尾调用优化
说栈溢出之前,我们先来一起学习下调用栈,为什么了 什么是 javascript 调用栈 javascript 引擎是利用栈的这种数据结构来管理执行上下文的。在执行上下文创建好后,javascript 引擎会将执行上下文数据压入栈中,通常把这种用来管理执行上下文件的栈称为执行上下文栈,又...
Chrome 浏览器 document.body.scrollTop 一直为0的问题
最近发现自己博客回到项部功能一直没有出现,经过多方查证,才发现因为document.body.scrollTop一直获取都是0。 不知道从Chrome哪个版本开始,页面最外层的滚动放到document上面去了,而不是body,所以获取需要用 document.documentElement.scrollTop 经查资料,IE、Fir...
vue-cli 之 jest、@vue/test-utils 单元测试实践
安装 vue 项目 安装脚手架 npm install -g @vue/cli 创建项目 vue create vue-demo 安装步骤 用例1:renders 组件 // HelloWorld.vue <template> <div class="hello"> <h1>{{ msg }}</h1> </div> <...
export ‘Switch’ (imported as ‘Switch’) was not found in ‘react-router-dom’
import React from 'react'; import { Switch, Route, Link } from 'react-router-dom'; import Home from './pages/Home'; import About from './pages/About'; export default () => { <div> <Switch> <Route exact path="/" component={Home...
‘NODE_ENV’ 不是内部或外部命令,也不是可运行的程序或批处理文件
scripts 命令 "build:client": "NODE_ENV=development webpack -w" 原因,这是由于 windows 环境需要设置内部命令,这里可以在前面加 set ,可以解决报错,但是启动不了项目。 windows 环境必须安装 cross-env 模块,并在启动命令前安装 npm i -D cross-env ...