自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学习前端这门手艺,栈底到栈顶依次是:浏览器架构、Web 网络、事件循环机制、JavaScript 核心、V8 的内存管理、浏览器的渲染流程、Web 安全、CSS、React、Vue、Node、构建工具链等

【Uncle Kaimo's Cabin - 凯默叔叔的小屋】:https://kaimo313.github.io/uncle-kaimo-cabin/#/【卡夫卡的岛上书店】:https://kaimo313.github.io/blogs/

  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 webpack进阶篇(二十):提取页面公共资源

说明玩转webpack课程学习笔记。基础库分离思路:将 react、react-dom 基础包通过 cdn 引⼊,不打⼊ bundle 中⽅法:使⽤ html-webpack-externals-plugin安装插件npm i html-webpack-externals-plugin -D1、不分离基础包2、分离基础包分离之后业务代码js体积少了。1、配置const HtmlWebpackExternalsPlugin = require('html-webp

2020-06-30 21:28:19 1911

原创 webpack进阶篇(十九):使⽤ source map

说明玩转webpack课程学习笔记。推荐阅读阮一峰的网络日志-JavaScript Source Map 详解什么是 source mapSource map就是一个信息文件,里面储存着位置信息。也就是说,转换后的代码的每一个位置,所对应的转换前的位置。使⽤ source map1、作⽤:通过 source map 定位到源代码2、开发环境开启,线上环境关闭线上排查问题的时候可以将 sourcemap 上传到错误监控系统source map 关键字source map: 产

2020-06-28 21:07:31 428

原创 webpack进阶篇(十八):多页面打包

说明玩转webpack课程学习笔记。多页面打包(MPA)概念每⼀次⻚⾯跳转的时候,后台服务器都会给返回⼀个新的 html ⽂档,这种类型的⽹站也就是多⻚⽹站,也叫做多⻚应⽤。多页面打包基本思路1、每个⻚⾯对应⼀个 entry,⼀个 html-webpack-plugin2、缺点:每次新增或删除⻚⾯需要改 webpack 配置module.exports = { entry: { index: './src/index.js', search: './src/searc

2020-06-28 00:28:55 1220

原创 webpack进阶篇(十七):静态资源内联

说明玩转webpack课程学习笔记。什么是资源内联资源内联(inline resource),就是将一个资源以内联的方式嵌入进另一个资源里面.1、HTML 内联 CSS (内联 CSS 或者 行内 CSS)<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-wi

2020-06-26 18:20:23 3243

原创 webpack进阶篇(十六):移动端 CSS px 自动转换成 rem

说明玩转webpack课程学习笔记。浏览器的分辨率CSS 媒体查询实现响应式布局缺陷:需要写多套适配样式代码@media screen and (max-width: 980px) { .header { width: 900px; }}@media screen and (max-width: 480px) { .header { height: 400px; }}@media screen and (max-width: 350px) { .h

2020-06-25 23:46:49 813

原创 webpack进阶篇(十五):PostCSS 插件 autoprefixer 自动补齐 CSS3 前缀

说明玩转webpack课程学习笔记。CSS3 的属性为什么需要前缀浏览器的标准没有完全统一举个栗子:.box { display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex}PostCSS 插件 autoprefixer 自动补齐 CSS3 前缀1、使用 autoprefixer 插件安装依赖npm i postcss-loader autoprefixer -D2、

2020-06-25 20:26:59 4061 2

原创 webpack进阶篇(十四):自动清理构建目录

说明玩转webpack课程学习笔记。bundle,chunk,modulebundle:打包最终生成的文件chunk:每个chunk是由多个module组成,可以通过代码分割成多个chunk。module:webpack中的模块(js、css、图片等等)当前构建时的问题每次构建的时候不会清理目录,造成构建的输出目录 output 文件越来越多。通过 npm scripts 清理构建目录rm -rf ./dist && webpackrimraf ./dist &a

2020-06-23 02:13:38 404

原创 webpack基础篇(十三):代码压缩

说明玩转webpack课程学习笔记。JS 文件的压缩内置了 uglifyjs-webpack-plugin,打包会自动压缩jsCSS 文件的压缩npm i optimize-css-assets-webpack-plugin -D1、使用 optimize-css-assets-webpack-pluginnpm i cssnano -D2、同时使用 cssnanoconst path = require('path');const MiniCssExtractPlugin

2020-06-23 00:49:56 718

原创 webpack基础篇(十二):文件指纹

说明玩转webpack课程学习笔记。什么是文件指纹打包后输出的文件名的后缀。文件指纹如何生成Hash:和整个项目的构建相关,只要项目文件有修改,整个项目构建的 hash 值就会更改Chunkhash:和 webpack 打包的 chunk 有关,不同的 entry 会生成不不同的 chunkhash 值Contenthash:根据文件内容来定义 hash ,文件内容不变,则 contenthash 不变JS 的文件指纹设置设置 output 的 filename,使用 [chu

2020-06-22 01:56:41 1354

原创 webpack基础篇(十一):热更新以及其原理

说明玩转webpack课程学习笔记。热更新:webpack-dev-server(WDS)安装命令:npm i webpack-dev-server -D1、WDS 不刷新浏览器。webpack-dev-server 默认是会在内容编译完成后自动刷新(liveload)浏览器的,此处增加了 HotModuleReplacementPlugin 插件之后可以做到 HMR 的。如果 HMR 失败的化会降级使用 liveload 自动刷新浏览器模式。2、WDS 不输出文件,而是放在内存中。

2020-06-21 16:21:52 407

原创 webpack基础篇(十):文件监听

说明玩转webpack课程学习笔记。什么是文件监听文件监听是在发现源码发生变化时,自动重新构建出新的输出文件。两种方式webpack 开启监听模式,有两种方式:启动 webpack 命令时,带上 --watch 参数在配置 webpack.config.js 中设置 watch: true唯一缺陷每次需要手动刷新浏览器。可以在package.json文件里面添加脚本。{ "scripts": { "build": "webpack", "watch"

2020-06-21 01:33:01 1400

原创 webpack基础篇(九):资源解析--使用url-loader

说明玩转webpack课程学习笔记。使用url-loader1、安装依赖npm i url-loader -Durl-loader 也可以用于处理图片和字体。(可以设置较小资源自动 base64)2、search.js引入一张小于10k的图片测试一下,logo.png的大小为3.37kb。import React from 'react';import ReactDOM from 'react-dom';import './search.less';import logo fr

2020-06-20 23:51:07 1032

原创 webpack基础篇(八):资源解析--解析字体

说明玩转webpack课程学习笔记。解析字体1、安装依赖npm i file-loader -Dfile-loader 也可以用于处理字体。(图片跟字体都不是代码文件)2、search.less 引入自己喜欢的字体,比如:SourceHanSerifSC-Heavy.otf@font-face{ font-family: 'SourceHanSerifSC-Heavy'; src: url('./fonts/SourceHanSerifSC-Heavy.otf') forma

2020-06-16 09:33:42 486

原创 webpack基础篇(七):资源解析--解析图片

说明玩转webpack课程学习笔记。解析图片1、安装依赖npm i file-loader -Dfile-loader 用于处理文件。2、找一张自己喜欢的ido,比如:3、search.js 引入图片import React from 'react';import ReactDOM from 'react-dom';import './search.less';import cxk from './images/cxk.jpg';console.log(cxk);cla

2020-06-16 00:18:43 442

原创 webpack基础篇(六):资源解析--解析 Less 和 Sass

说明玩转webpack课程学习笔记。解析 Less 和 SaSS1、安装依赖(以less为例)npm i less less-loader -Dless-loader 用于将 less 转换成 css。2、search.less测试文件.search-text { font-size: 48px; color: red;}3、search.js测试文件import React from 'react';import ReactDOM from 'react-dom';

2020-06-15 23:54:52 473

原创 webpack基础篇(五):资源解析--解析 CSS

说明玩转webpack课程学习笔记。解析 CSS1、安装依赖npm i style-loader css-loader -Dcss-loader 用于加载 .css 文件,并且转换成 commonjs 对象。style-loader 将样式通过 <style> 标签插入到 head 中。2、search.css测试文件.search-text { font-size: 48px; color: green;}3、search.js测试文件import Re

2020-06-15 23:40:40 419

原创 webpack基础篇(四):资源解析--解析 React JSX

说明玩转webpack课程学习笔记。解析 React JSX1、安装依赖npm i react react-dom -S 、npm i @babel/preset-react -D2、在.babelrc增加 React 的 babel preset 配置{ "presets": [ "@babel/preset-env", "@babel/preset-react" ]}3、编写react组件测试search.js文件import

2020-06-15 18:08:49 374

原创 webpack基础篇(三):资源解析--解析 ES6

说明玩转webpack课程学习笔记。解析 ES61、使用 babel-loaderbabel的配置文件是:.babelrc2、webpack配置const path = require('path');module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', path: path.resolve(__dirname, 'dist') }, module: {

2020-06-15 16:40:46 312

原创 webpack基础篇(二):webpack核心概念

说明玩转webpack课程学习笔记。EntryEntry 用来指定 webpack 的打包入口。1、依赖图的入口是entry.2、Entry 的用法单入口:entry 是一个字符串。module.exports = { entry: './path/to/my/entry/file.js'};多入口:entry 是一个对象。module.exports = { entry: { app: './src/app.js', adminApp: './src

2020-06-14 02:32:37 399

原创 webpack基础篇(一):webpack与构建发展简史

说明玩转webpack课程学习笔记。1、为什么需要构建工具1、转换 ES6 语法2、转换 JSX3、CSS 前缀补全/预处理理器器4、压缩混淆5、图⽚片压缩2、前端构建演变之路大致过程:ant + YUI Tool grunt --> gulp fis3 --> webpack parcel rollup3、为什么选择webpack1、社区⽣生态丰富2、配置灵活和插件化扩展3、官⽅方更更新迭代速度快4、初识webpack1、配置⽂文件名称webpack 默

2020-06-13 18:44:39 748

原创 在vuecli3怎么提升构建打包速度?

安装happypack版本:"happypack": "^5.0.1"npm install happypack --save-dev配置在文件vue.config.js里进行配置// 引入happypackconst Happypack = require('happypack');module.exports = { configureWebpack: config => { // 多线程优化构建速度 config.plugins.push( ne

2020-06-12 12:59:47 2732

原创 在vuecli3怎么设置全局公用的样式变量?

配置在文件vue.config.js里进行配置module.exports = { css: { // 不用在每一个页面都进行引入样式,就能直接引用。 loaderOptions: { sass: { prependData: `@import '@/assets/scss/variables.scss';` } } }}...

2020-06-12 12:57:40 3466

原创 在vuecli3怎么压缩代码以及打包怎么去除console.log?

安装uglifyjs-webpack-plugin版本:"uglifyjs-webpack-plugin": "^2.2.0",npm install uglifyjs-webpack-plugin --save-dev配置在文件vue.config.js里进行配置// 引入const UglifyJsPlugin = require("uglifyjs-webpack-plugin");module.exports = { chainWebpack: config => {.

2020-06-12 12:56:19 1243

原创 在vue里用codemirror实现代码编辑器功能?

安装codemirror版本:"codemirror": "^5.53.2"npm install codemirror --savehttps://codemirror.net/编写codemirror.vue公共组件<template> <div class="code-mirror-box"> <textarea ref="textareaCoder"></textarea> </div></templat

2020-06-01 15:56:20 1980 6

流沙:用于 CSDN 博客网站的暗黑和明亮主题切换的 chrome 浏览器插件。

流沙:用于 CSDN 博客网站的暗黑和明亮主题切换的 chrome 浏览器插件。使用的 v3 版本开发。

2022-08-15

原生 js 实现类 3d 地图大屏展示自动高亮轮播、显示悬浮提示 tootip 的方案:svg + popper.js 定位引擎

原生 js 实现类 3d 地图大屏展示自动高亮轮播、显示悬浮提示 tootip 的方案:svg + popper.js 定位引擎

2022-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除