<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ding139725的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ding139725</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ding139725]]></copyright><item><title><![CDATA[vue2项目配置环境变量]]></title><link>https://blog.youkuaiyun.com/ding139725/article/details/124256499</link><guid>https://blog.youkuaiyun.com/ding139725/article/details/124256499</guid><author>ding139725</author><pubDate>Mon, 18 Apr 2022 18:53:59 +0800</pubDate><description><![CDATA[一、环境变量干啥用的
我们学习它肯定就是要用它，说个最常用的例子吧，我们请求的地址在开发线、测试线、和正式线中，肯定是不一样的所以每次打包之前去改就显得很麻烦，它就是用来干这个的帮我们解决这个问题。废话少说，立马开干
二、配置环境变量
首先我们需要在项目根目录下创建你所需要的环境变量名字为.env.xxxx，前面.env是固定的后面可以自定义，这里我定义了三个

.env.development 开发
.env.test 测试
.env.production 生产

三、定义变量
只有VUE_APP开头的变]]></description><category></category></item><item><title><![CDATA[vue2移动端适配]]></title><link>https://blog.youkuaiyun.com/ding139725/article/details/124255555</link><guid>https://blog.youkuaiyun.com/ding139725/article/details/124255555</guid><author>ding139725</author><pubDate>Mon, 18 Apr 2022 17:59:08 +0800</pubDate><description><![CDATA[插件

1. postcss-pxtorem

2. amfe-flexible

postcss-pxtorem

坑有点多，需要指定版本这里使用5.1.1

在项目跟目录创建postcss.config.js配置如下代码(这里只做最基础的，还有很多配置可自行上网查询)


module.exports = {
    plugins: {
      'postcss-pxtorem': {
        rootValue: 75,
        propList: ['*'],
      }
]]></description><category></category></item><item><title><![CDATA[Vite + vue3配置打包后移除console及debugger]]></title><link>https://blog.youkuaiyun.com/ding139725/article/details/124201098</link><guid>https://blog.youkuaiyun.com/ding139725/article/details/124201098</guid><author>ding139725</author><pubDate>Fri, 15 Apr 2022 18:17:57 +0800</pubDate><description><![CDATA[vite已经配置好了，废话少说 直接上代码


import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  build: {
    minify: 'terser',
    terserOptions: {
      compress: {
       ]]></description><category></category></item><item><title><![CDATA[微信小程序长按保存图片]]></title><link>https://blog.youkuaiyun.com/ding139725/article/details/120791750</link><guid>https://blog.youkuaiyun.com/ding139725/article/details/120791750</guid><author>ding139725</author><pubDate>Fri, 15 Oct 2021 22:27:36 +0800</pubDate><description><![CDATA[### 先看效果图

这里使用电脑端做录屏，在真机测试一样好用





正常保存图片可以又两种做法：

* 长按图片直接保存

* 长按图片弹出菜单保存

我们这里讲最直接的方法也就是第一个种长按图片直接保存

### 实现

bindlongpress：长按事件

wx.getImageInfo：获取图片信息方法

wx.saveImageToPhotosAlbum：保存图片到相册方法

注意：saveImageToPhotosAlbum这个方法不支持网络地址，所以需要getImageInfo方法，转.]]></description><category></category></item><item><title><![CDATA[CSS属性值的计算过程(a标签不变色不继承问题)]]></title><link>https://blog.youkuaiyun.com/ding139725/article/details/106769919</link><guid>https://blog.youkuaiyun.com/ding139725/article/details/106769919</guid><author>ding139725</author><pubDate>Mon, 15 Jun 2020 19:45:31 +0800</pubDate><description><![CDATA[首先我们先了解一下什么是属性值的计算过程
一个元素，从所有属性都没有值，到所有的属性都有值，这个计算过程要属性值计算过程。
属性值的计算过程一共分为四部：

确定声明值：参考样式表(作者样式表、浏览器默认样式表)中没有冲突的声明，作为CSS属性值
层叠冲突：对样式表有冲突的声明使用层叠规则，确定CSS属性值
使用继承：对仍然没有值的属性，若可以继承，则继承父元素的值
使用默认值：对仍然没有值的属性，使用默认值

特殊的两个CSS取值：


inherit：手动继承，将父元素的值取出应用到该元素


init]]></description><category></category></item><item><title><![CDATA[JS预编译(预编译，函数声明提升问题，一篇足矣)]]></title><link>https://blog.youkuaiyun.com/ding139725/article/details/106769249</link><guid>https://blog.youkuaiyun.com/ding139725/article/details/106769249</guid><author>ding139725</author><pubDate>Mon, 15 Jun 2020 19:24:43 +0800</pubDate><description><![CDATA[前言
相信学习过js的人都听说过这两句话：

函数声明整体提升
变量声明提升

这两句话是预编译的简化版，当然只会这两句话做项目的过程遇到一些问题时没有办法解决的，那么本篇就从原理讲这个预编译，学完本篇保证预编译的面试题、以及项目中的bug，通通解决。
一、Js运行过程
首先我们要学习Js的运行过程，这样才会更容易理解这个预编译，我们都知道Js是单线程的解释性语言。
Js运行总共有三部：

语法分析：在运行之前先给你检测一遍你这个代码，保证你能运行
预编译：在函数执行的前一刻，会创建一个叫做执行期上下文的(]]></description><category></category></item><item><title><![CDATA[Flutter环境搭建win10系统2020年最新版]]></title><link>https://blog.youkuaiyun.com/ding139725/article/details/106649353</link><guid>https://blog.youkuaiyun.com/ding139725/article/details/106649353</guid><author>ding139725</author><pubDate>Tue, 09 Jun 2020 22:08:27 +0800</pubDate><description><![CDATA[前言
Flutter从出生到现在已经出现了一年多，现在学习Flutter的程序员也越来越多，那么这个Flutter环境搭建是有很多坑的，本人在最开始在网上了找了好多教程，也试了试结果发现网上的教程大多都是19年的版本过于老，我照了他们的方法试了试也不太好用，本人在安装过程中也是踩了很多坑，所以打算把环境搭建这个步骤给大家分享一下，帮助大家脱坑，那么本篇文章是win10的系统 从环境搭建到项目运行，那么在之后呢本人也会不断更新flutter的教程，如果觉得本篇文章对你有用或者你也有兴趣学习flutter那么不]]></description><category></category></item><item><title><![CDATA[Flutter使用自定义icon]]></title><link>https://blog.youkuaiyun.com/ding139725/article/details/104843005</link><guid>https://blog.youkuaiyun.com/ding139725/article/details/104843005</guid><author>ding139725</author><pubDate>Fri, 13 Mar 2020 16:43:44 +0800</pubDate><description><![CDATA[前言
在flutter中，为我们提供了大量的icon字体图标，当这些图标满足不了我们时，我们就需要使用自定义的icon图标。作为演示，本文章的字体图标文件是在阿里巴巴图标库，下载的。
一、下载自定义的icon文件
在阿里巴巴图标库中，找到自己需要的图标添加至项目中，进行下载
下载后是一个压缩包，解压后我们在这里只需要这两个文件
我们把后缀名为：.ttf 的文件放到flutter文件的assets/...]]></description><category></category></item><item><title><![CDATA[Js实现Blob视频加密（附代码，精讲）]]></title><link>https://blog.youkuaiyun.com/ding139725/article/details/103645756</link><guid>https://blog.youkuaiyun.com/ding139725/article/details/103645756</guid><author>ding139725</author><pubDate>Sat, 21 Dec 2019 16:39:41 +0800</pubDate><description><![CDATA[Js实现Blob视频加密（附代码，精讲）
一、原理
把video的src属性以blob形式给显示出来，这样就可以实现加密效果。示例效果如下：

二、过程

利用Ajax方法，请求一个视频地址，并设置返回值为Blob类型
把请求的数据传给video的src属性
video接收到src属性后，就立即释放请求到的数据，以免泄露。

三、示例代码
 &lt;video id="my-video" clas...]]></description><category></category></item><item><title><![CDATA[输入一个三位正整数，然后反向输出]]></title><link>https://blog.youkuaiyun.com/ding139725/article/details/103253481</link><guid>https://blog.youkuaiyun.com/ding139725/article/details/103253481</guid><author>ding139725</author><pubDate>Tue, 26 Nov 2019 11:50:41 +0800</pubDate><description><![CDATA[输入一个正整数，然后反向输出
今天在复习js的时候，看到了一道练习题，题目：编写一个程序输入一个三位数，输出的结果相反，如：输入456，输出654由于，这道题是在学习运算符和循环语句的时候出的，我就运用了一个简单适用的方法，下面是示例代码：
             var n = Number (prompt("input")) // 把获取的数值转换为数字类型，方便计算
           ...]]></description><category></category></item></channel></rss>