<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[⑥②专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lw001x</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lw001x]]></copyright><item><title><![CDATA[nexus搭建npm私有镜像]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/134180324</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/134180324</guid><author>lw001x</author><pubDate>Thu, 02 Nov 2023 13:41:07 +0800</pubDate><description><![CDATA[使用 npm-group 仓库，nexus会自动判断，hosted本地仓 和 proxy代理仓哪个仓库存在要下载的包，并进行下载。使用hosted类型的仓库，将本地包打入私有镜像仓库，只保存在本地私有镜像仓库，proxy代理仓库不会有任何变化。创建一个名为 npm-group 的分组仓库，并本地hosted仓库和代理Proxy仓库放入分组。创建一个名为 npm-proxy 的代理仓库，可以将代理地址写淘宝镜像加快本地镜像的速度。通过上面的方法，创建了三个类型的仓库，每个仓库都有自己的使用方式。]]></description><category></category></item><item><title><![CDATA[浏览器 Experimental third-party storage partitioning（实验性第三方存储分区）]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/133764180</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/133764180</guid><author>lw001x</author><pubDate>Wed, 11 Oct 2023 14:27:37 +0800</pubDate><description><![CDATA[引起这个问题是chrome浏览器的新特性，Experimental third-party storage partitioning，引起的，只要是非同级且非同源的页面进行嵌套，那么非顶级的源存储与顶级的源存储之间的共享数据会进行隔离。如果你在使用iframe嵌套页面A后，嵌套页面A的存储数据和使用顶级打开的页面A的存储数据不通时，就是因为这个特性参数引起的，也就是说后续想使用postMessage跨域获取存储数据，就要考虑同源的问题了。在浏览器开发者工具的Application（应用程序）标签页的。]]></description><category></category></item><item><title><![CDATA[js和nodejs如何将文件切片和合并]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/132250356</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/132250356</guid><author>lw001x</author><pubDate>Sat, 12 Aug 2023 16:40:29 +0800</pubDate><description><![CDATA[如果想在页面上操作文件，就需要使用到与文件相关的API接口，如Blob、File、FileList、FileReader、FileReaderSync，这几个就是操作文件常见的接口。Blob是实现文件切片的一个核心接口，因为它是一个不可变的类文件对象，可以使用Blob本身的slice方法，对文件本身进行切片。使用nodejs读取文件流，并对流进行切片合并等操作，就需要用到Buffer对象，可对文件流进行切片，并合并。]]></description><category></category></item><item><title><![CDATA[element-ui的el-table，使用sortablejs改造成可拖拽排序]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/130899192</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/130899192</guid><author>lw001x</author><pubDate>Sat, 27 May 2023 11:29:32 +0800</pubDate><description><![CDATA[element-ui的el-table，使用sortablejs改造成可拖拽排序。]]></description><category></category></item><item><title><![CDATA[Vite+Vue+Electron环境搭建]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/127589755</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/127589755</guid><author>lw001x</author><pubDate>Sat, 29 Oct 2022 17:38:15 +0800</pubDate><description><![CDATA[electron简单来说就是对html的一种封装，所以我们先来搭建vue的开发环境，这里使用vite，也可以使用vue-cli来快速搭建。]]></description><category></category></item><item><title><![CDATA[WebGIS地图相关学习笔记]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/127489333</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/127489333</guid><author>lw001x</author><pubDate>Mon, 24 Oct 2022 11:42:04 +0800</pubDate><description><![CDATA[这里将记录学习gis地图相关内容的时候，如果碰到了不懂或不理解的知识点的时候，会记录在这里。]]></description><category></category></item><item><title><![CDATA[使用Canvas画出多个多边形Polygon]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/125146884</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/125146884</guid><author>lw001x</author><pubDate>Mon, 06 Jun 2022 15:00:15 +0800</pubDate><description><![CDATA[使用Canvas画出多个多边形Polygon]]></description><category></category></item><item><title><![CDATA[btoa和atob在nodejs中应该怎么写？]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/124256419</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/124256419</guid><author>lw001x</author><pubDate>Mon, 18 Apr 2022 18:49:04 +0800</pubDate><description><![CDATA[btoa 方法是将字符串进行base64编码

atob 方法是将已进行base64编码的字符串进行解码


// 对字符串进行base64编码
let res = btoa('123')
console.log(res)   // MTIz
// 对base64编码进行解码
res = atob(res)
console.log(res)   // 123

btoa 和 atob两种全局方法在nodejs环境中也是可以使用的，但也是为了旧版 Web 平台 API 兼容，在新代码是最好不要使用，因为有可能]]></description><category></category></item><item><title><![CDATA[在React18中使用createRoot代替render]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/124208436</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/124208436</guid><author>lw001x</author><pubDate>Sat, 16 Apr 2022 09:26:34 +0800</pubDate><description><![CDATA[在React18中使用createRoot代替render


import * as ReactDOMClient from 'react-dom/client'; 
ReactDOMClient.createRoot(/*...*/); 
ReactDOMClient.hydrateRoot(/*...*/);



什么是 root?

root就是指向React渲染dom树的一个最上层的数据结构。在旧的API中，root是不透明的，因为我们将它连接到DOM元素，并通过DOM节点访问它，从来不暴露给用]]></description><category></category></item><item><title><![CDATA[npm install 常用参数说明]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/124167419</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/124167419</guid><author>lw001x</author><pubDate>Thu, 14 Apr 2022 14:56:37 +0800</pubDate><description><![CDATA[描述

npm install 是用来安装包和相关的依赖包的，如果存在package-loc文件，或是 shrinkwrap文件，yarn.lock文件，依赖包的安装将被其锁定，如果存在多个，则优先级如下：

npm-shrinkwrap.json
	package-lock.json
	yarn.lock
命令


npm install [&lt;@scope&gt;/]&lt;pkg&gt;
npm install [&lt;@scope&gt;/]&lt;pkg&gt;@&lt;tag&g...]]></description><category></category></item><item><title><![CDATA[npm exec 命令详细说明]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/124133735</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/124133735</guid><author>lw001x</author><pubDate>Tue, 12 Apr 2022 22:30:43 +0800</pubDate><description><![CDATA[npm exec命令是用来从本地或远程npm包中运行命令的。


npm exec -- &lt;pkg&gt;[@&lt;version&gt;] [args...]
npm exec --package=&lt;pkg&gt;[@&lt;version&gt;] -- &lt;cmd&gt; [args...]
npm exec -c '&lt;cmd&gt; [args...]'
npm exec --package=foo -c '&lt;cmd&gt; [args...]'
# 别名: npm..]]></description><category></category></item><item><title><![CDATA[学习esbuild构建工具]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/124115700</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/124115700</guid><author>lw001x</author><pubDate>Tue, 12 Apr 2022 11:04:03 +0800</pubDate><description><![CDATA[简介

既然要学习如何使用esbuild，就说明已经知道，esbuild号称是打开了前端构建工具性能的新时代，最新流行的Vite也是使用esbuild进行了构建依赖。



上图是使用不同的构建工具，构建10个three.js副本的bundle，包括sourcemap和minify压缩等操作，可以看出很明显差距。

主要特点有哪些？

不使用缓存进行快速构建
	ES6和CommonJS模块
	ES6模块的TreeShaking
	JavaScript和Go的API
	支持TypeScript和JSX语法..]]></description><category></category></item><item><title><![CDATA[如何在VScode工具中配置eslint代码检查并动态提示]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/124050259</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/124050259</guid><author>lw001x</author><pubDate>Fri, 08 Apr 2022 21:06:22 +0800</pubDate><description><![CDATA[ESLint 作为ECAMScript和JavaScript 代码识别检查工具，为我们在开发过程中提供了很大的帮助，也为我们在多人协作编程的时候，提供了统一的代码风格限制方式，减少了我们在多人编写并提交同一个文件的时候，尽量减少冲突的出现次数。如果只是一个人书写代码，也能为我们提供很好的代码规范。

尽量在项目初始阶段就使用代码检查、代码风格的规范插件工具。

使用npm安装ESLint

首先是安装eslint的插件包


npm install eslint --save-dev

然后我们可以使用命令]]></description><category></category></item><item><title><![CDATA[TypeError: this.cliEngineCtor is not a constructor，webstorm和eslint的版本纠结]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/123891939</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/123891939</guid><author>lw001x</author><pubDate>Fri, 01 Apr 2022 11:00:06 +0800</pubDate><description><![CDATA[在webstorm里使用eslint的时候，会提示 TypeError: this.cliEngineCtor is not a constructor ，这样的一个错误，知道应该是版本的错误，但具体版本怎么区别，eslint的版本和webstorm的版本]]></description><category></category></item><item><title><![CDATA[一段代码，js动态创建脚本和样式]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/123807383</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/123807383</guid><author>lw001x</author><pubDate>Mon, 28 Mar 2022 22:07:31 +0800</pubDate><description><![CDATA[1、动态创建引入外部脚本


function loadScript(url){
    var script = document.createElement('script')
    script.type = 'text/javascript'
    script.src = url
    document.body.appendChild(script)
}

2、动态创建页面内脚本


function loadScriptCode(code){
    var codeNode = doc]]></description><category></category></item><item><title><![CDATA[一段代码，nodejs使用past-time将日期转换成昨天、今天、明天]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/121692251</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/121692251</guid><author>lw001x</author><pubDate>Fri, 03 Dec 2021 10:00:23 +0800</pubDate><description><![CDATA[这里使用 past-time 插件。


npm i past-time



const pastTime = require('past-time')

let date = new Date()
date.setMinutes(10)
date.setSeconds(2)
for (let i = 0; i &lt; 12; i++) {
    let t1 = pastTime(date, {awaysShort: false, format: 'YYYY-MM-DD hh:mm:ss'})
  ]]></description><category></category></item><item><title><![CDATA[flutter入坑，Expanded child isn‘t defined]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/119806861</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/119806861</guid><author>lw001x</author><pubDate>Thu, 19 Aug 2021 17:21:10 +0800</pubDate><description><![CDATA[在使用idea进行flutter开发的时候，会发现文档上明明有的一些参数，在开发工具中却显示红色提示。

这个时候我们就需要看一下，flutter使用的版本是不是太低了，因为flutter1和flutter2的版本有很大的不同。

升级flutter后，还需要在idea中，改变Dart的版本支持，只需要改变上图的路径就可以了。








...]]></description><category></category></item><item><title><![CDATA[小程序和H5页面如何实现图片的瀑布布局]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/119133862</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/119133862</guid><author>lw001x</author><pubDate>Tue, 27 Jul 2021 09:29:04 +0800</pubDate><description><![CDATA[瀑布布局使用绝对定位的形式，这里使用waterfall-js来获取计算后的图片项的位置大小等信息，可以看到最终的效果图，示例代码可以参考https://gitee.com/orz365/waterfall-js



可以看到，图片上的图片等列的显示，都是不等高的，对于这种像流水一样的布局，可以称为瀑布流的布局，对于不同大小的图片，这种布局方式是一种不错的选择。

我们使用一种js插件，waterfall-js插件，我们只要传入我们要展示的图片列表信息，它可以很快的计算出我们要展示的图片大小，并将图片的大.]]></description><category></category></item><item><title><![CDATA[Canvas学习，用Canvas画五子棋并进行简单判断输赢]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/117986083</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/117986083</guid><author>lw001x</author><pubDate>Thu, 17 Jun 2021 11:13:16 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;五子棋&lt;/title&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=0"&gt;
    &lt;styl...]]></description><category></category></item><item><title><![CDATA[grunt-babel中如何去掉use strict严格模式]]></title><link>https://blog.youkuaiyun.com/lw001x/article/details/117468919</link><guid>https://blog.youkuaiyun.com/lw001x/article/details/117468919</guid><author>lw001x</author><pubDate>Wed, 02 Jun 2021 15:25:14 +0800</pubDate><description><![CDATA[Install

For Babel 7.x and grunt-babel v8


npm i --dev grunt-babel @babel/core @babel/preset-env

For Babel 6.x and grunt-babel v7


$ yarn add --dev grunt-babel@7 babel-core babel-preset-env
]]></description><category></category></item></channel></rss>