如何为评论系统快速添加表情
为你的Valine、Waline、Twikoo评论丰富表情吧。阿鲁小表情,哔哩哔哩表情····
三、移动端轮播图的实现
布局 <div id="app"> <div id="swiper-container"> <!-- 幻灯片的结构 --> <div class="swiper-wrapper"> <div class="swiper-slide"><img src="./img/1.jpg"></div> <div class="swiper-slide"><img src="./img/2.jpg"></div> <div class="swiper-slide"><img src="./img/3.jpg"></div> <div class="swiper-slide"><img src="./img/4.jpg"></div> <div class="swiper-slide"><img src="./img/5.jpg"></div> </div> <!-- 导航点 ...
Github之Actions自动发布npm包
前言 在将我们的源代码推送到GitHub时并希望他能自动构建并将包发布到npm。 其实做法也简单,大致思路:获取仓库源代码->安装插件->构建->推送 一、生成TOKEN 这一步很重要,在npm中生成自己的TOKEN。TOKEN类型一定要选择Automation,生成后将其保存,因为一会儿要在GitHub密钥中填写这个值。 二、配置仓库secrets 进入你的代码仓库,单击设置 点击Secrets,并新建一个键为NPM_TOKEN,值为上一步生成的TOKEN的密钥 三、编写构建配置 name: Node.js Package on: push: branches: - master jobs: publish-npm: runs-on: ubuntu-latest strategy: matrix: node-version: [12.x] steps: # from: https://github.com/actions/checkout ...
四、Webpack其他补充
多页面打包 使用glob插件并通过 yarn add glob html-webpack-plugin -D 配置 /** * @description: * @author: 小康 * @url: https://xiaokang.me * @Date: 2021-01-02 17:18:46 * @LastEditTime: 2021-01-02 17:18:46 * @LastEditors: 小康 */ const glob = require('glob') const path = require('path') const HtmlWebpackPlugin = require('html-webpack-plugin') const setMPA = () => { const entry = {} const htmlWebpackPlugins = [] const entryFiles = glob.sync(path.join(__dirname, './src/*/index.js')) Obje ...
三、Webpack优化配置
性能优化 性能优化包含开发环境优化和生产环境优化。 开发环境 优化打包构建速度 优化代码调试 生产环境 优化打包构建速度 优化代码运行的性能 开发环境 HMR 即热更新:一个模块发生变化,只会重新打包这一个模块。 在devServer中开启 { devServer: { contentBase: resolve(__dirname, 'build'), compress: true, port: 3000, open: true, // 开启HMR功能 // 当修改了webpack配置,新配置要想生效,必须重新webpack服务 hot: true } } 样式文件 样式文件可以使用热更新,因为style-loader内部实现了 js文件 默认不使用HMR功能,需要手动修改支持HMR。且只能处理非入口文件。 if (module.hot) { // 一旦 module. ...
二、Webpack进阶玩法
说明 由于webpack5正式版刚发布不久,仍有插件不支持webpack5,因此此文以webpack4为例进行撰写。 webpack@4.44.1 webpack-cli@3.3.12 提取CSS成单独文件 安装插件 yarn add mini-css-extract-plugin -D 配置文件:将MiniCssExtractPlugin.loader替换曾经的style-loader /** * @description: * @author: 小康 * @url: https://xiaokang.me * @Date: 2020-12-31 19:32:48 * @LastEditTime: 2020-12-31 19:32:48 * @LastEditors: 小康 */ const { resolve } = require('path') const HtmlWebpackPlugin = require('html-webpack-plugin') const MiniCssExtractPlugin = require('m ...
一、Webpack简单使用
webpack五个核心概念 Entry 入口(Entry)指示webpack 以哪个文件为入口起点开始打包,分析构建内部依赖图。 output 输出(Output)指示webpack 打包后的资源bundles 输出到哪里去,以及如何命名。 loader Loader 让webpack 能够去处理那些非JavaScript 文件(webpack 自身只理解JavaScript) plugins 插件(Plugins)可以用于执行范围更广的任务。插件的范围包括,从打包优化和压缩,一直到重新定义环境中的变量等。 mode 模式(Mode)指示webpack 使用相应模式的配置。 选项 描述 特点 development 会将DefinePlugin中process.env.NODE_ENV的值设置为development。启用NamedChunksPlugin和NamedModulesPlugin。 能让代码本地调试运行的环境 production 会将DefinePlugin中process.env.NODE_ENV的值设置为production。 ...
二、移动端的适配问题
尺寸适配 只需要将viewport width等于设计稿的宽度即可。 <meta name='viewport' content='width=750,user-scalable=no'> less与rem适配 less文件 @font-size: 设计稿的宽度 / 10rem; #box{ width: 200/@font-size; height: 100/@font-size; } 使用js做根元素的调整 document.documentElement.style.fontSize = document.documentElement.clientWidth / 10 + 'px'; window.onresize = function () { document.documentElement.style.fontSize = document.documentElement.clientWidth / 10 + 'px'; }
一、移动端的事件
视口控制 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scaleable=no, maximum-scale=1.0, minimum-scale=1.0" /> 事件 var box = document.querySelector('#box') // 元素上触摸开始时触发 box.addEventListener('touchstart', function () { box.style.backgroundColor = 'red' }) // 元素上触摸移动时触发 box.addEventListener('touchmove', function () { box.style.backgroundColor = 'yellow' console.log('touchmove触发了!') }) // 手指从元素上离开时触发 box.addEventListener('tou ...












