<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sendudu的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sendudu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sendudu]]></copyright><item><title><![CDATA[部署后出现报错crbug/1173575, non-JS module files deprecated和ERR_UNSAFE_PORT]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/124231268</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/124231268</guid><author>sendudu</author><pubDate>Sun, 17 Apr 2022 16:12:28 +0800</pubDate><description><![CDATA[部署端口6666出现的问题
部署项目到6666端口，然后用chrome访问发现报了如下错误

页面显示： 网址为http://xx.xx.xx.xx:6666的网页可能暂时无法连接，或者它已永久性地移动到了新网址，ERR_UNSAFE_PORT
控制台显示：crbug/1173575, non-JS module files deprecated

经过一番搜索，发现原来chrome自己做了不安全端口的限制，6665-6669以及6000、4045等都是不安全端口。
部署的时候要避免！！日常踩坑

...]]></description><category></category></item><item><title><![CDATA[JS数据类型整理]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/114247337</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/114247337</guid><author>sendudu</author><pubDate>Mon, 01 Mar 2021 07:52:00 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[HTML中的JAVASCRIPT]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/113485624</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/113485624</guid><author>sendudu</author><pubDate>Sun, 31 Jan 2021 21:33:29 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Node Global对象]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/113097335</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/113097335</guid><author>sendudu</author><pubDate>Sun, 24 Jan 2021 21:08:52 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[国密算法m1-m4概述]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/112747668</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/112747668</guid><author>sendudu</author><pubDate>Sun, 17 Jan 2021 15:35:55 +0800</pubDate><description><![CDATA[密码学中应用最为广泛的的三类算法：
1、对称算法（分组密码算法）代表分组密码算法(DES和SM4)；
2、非对称算法（公钥密码算法）代表公钥密码算法(RSA和SM2)；
3、杂凑算法（摘要算法）代表摘要算法(HAS-256系列和SM3)；
而国密算法是由国家密码局发布，包含SM1、SM2、 SM3、 SM4、 SSF33等算法
SM1
SM1 算法是分组密码算法，分组长度为128位，密钥长度都为 128 比特，算法安全保密强度及相关软硬件实现性能与 AES 相当，算法不公开，仅以IP核的形式存在于芯片中。
]]></description><category></category></item><item><title><![CDATA[node模块路径分析]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/112455767</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/112455767</guid><author>sendudu</author><pubDate>Mon, 11 Jan 2021 00:33:36 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Node Buffer类总结]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/112170154</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/112170154</guid><author>sendudu</author><pubDate>Mon, 04 Jan 2021 10:48:27 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Node的模块实现（1）]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/111830538</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/111830538</guid><author>sendudu</author><pubDate>Mon, 28 Dec 2020 09:26:54 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[npm publish发布包出现403错误]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/111179263</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/111179263</guid><author>sendudu</author><pubDate>Mon, 14 Dec 2020 17:14:14 +0800</pubDate><description><![CDATA[描述
发布包过程可能会遇到很多问题，比较无语的是403 Forbidden如下
npm ERR! 403 403 Forbidden - PUT http://registry.npmjs.org/hello_test_npm - You do not have permission to publish "hello_test_npm". Are you logged in as the correct user?
npm ERR! 403 In most cases, you or one of you]]></description><category></category></item><item><title><![CDATA[UUID的规范、v1-v5以及如何保证唯一性]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/110913344</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/110913344</guid><author>sendudu</author><pubDate>Tue, 08 Dec 2020 23:49:28 +0800</pubDate><description><![CDATA[UUID(Universally Unique IDentifier)是一个128位数字的唯一标识。RFC 4122描述了具体的规范实现。本文尝试从它的结构一步步分析为什么它能做到唯一性？及各个版本的使用场景。

Format

UUID使用16进制表示，共有36个字符(32个字母数字+4个连接符"-")，格式为8-4-4-4-12，如：


6d25a684-9558-11e9-aa94-efccd7a0659b
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

M中使用4位来表]]></description><category></category></item><item><title><![CDATA[前后端接口的对比（RESTful，GraphQL）]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/110670152</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/110670152</guid><author>sendudu</author><pubDate>Fri, 04 Dec 2020 17:55:11 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Webpack 5升级内容（二：模块联邦）]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/110232830</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/110232830</guid><author>sendudu</author><pubDate>Fri, 27 Nov 2020 15:24:26 +0800</pubDate><description><![CDATA[重大变化：开发支持
Module Federation模块联邦（联合） ????????
Module Federation 使 JavaScript 应用得以从另一个 JavaScript 应用中动态地加载代码 —— 同时共享依赖。如果某应用所消费的 federated module联邦模块 没有 federated code联合代码 中所需的依赖，Webpack 将会从 联合构建源中下载缺少的依赖项。


动机



Module Federation的动机是与多个团队一起开发一个或多个应用程序。


]]></description><category></category></item><item><title><![CDATA[Webpack 5升级内容（一）]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/109712699</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/109712699</guid><author>sendudu</author><pubDate>Mon, 16 Nov 2020 00:16:04 +0800</pubDate><description><![CDATA[Webpack 5升级内容
版本发布时间

webpack 4于2018年2月发布
Webpack 5.0.0于2020年10月10日发布

此版本关注
此版本重点关注以下内容：


通过持久化缓存提高构建性能。


使用更好的算法和默认值来改善长期缓存。


通过更好的Tree Shaking和代码生成来改善bundle大小。


清理处于怪异状态的内部结构，同时在v4中实现功能而不引入任何重大更改。
Clean up internal structures that were left in a wei]]></description><category></category></item><item><title><![CDATA[webpack的缓存]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/109571431</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/109571431</guid><author>sendudu</author><pubDate>Mon, 09 Nov 2020 10:45:36 +0800</pubDate><description><![CDATA[一、babel缓存

1. 引入问题

为什么对Babel进行缓存，因为项目里js代码一般最多，而babel是对js代码进行编译处理成浏览器能识别的语法
	100个js模块中只有1个变化，另外99个不需要再重新编译


2. 解决方案

开启Babel 缓存
	第二次构建时才会读取缓存，速度会更快一些


3. 具体配置

{
 test: /\.js$/,
 exclude: /node_modules/,
 loader: 'babel-loader',
 options: {
 pr...]]></description><category></category></item><item><title><![CDATA[js模块规范发展]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/109382202</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/109382202</guid><author>sendudu</author><pubDate>Fri, 30 Oct 2020 11:34:52 +0800</pubDate><description><![CDATA[之前，js不能引入三方模块，所有的代码必须写到一个文件中，导致单个文件代码量大、业务功能模块不清晰、难于维护。而编写模块化代码，有助于使您的代码变得松散耦合，这对于构建可维护的表示工程代码大有帮助。
基于此，越来越多的模块规范出现，如commonjs、amd、umd、esm.
amd
amd（Asynchronous Module Definitions）规范因RequireJS而出名，其适用于浏览器端，commonjs常被用于node中，当然其也可通过Browserify用于浏览器中。
其用法如下：
//]]></description><category></category></item><item><title><![CDATA[浏览器缓存]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/109186416</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/109186416</guid><author>sendudu</author><pubDate>Tue, 20 Oct 2020 18:20:27 +0800</pubDate><description><![CDATA[浏览器缓存机制

什么是缓存？
缓存能够减少浏览器请求资源的次数，当第一个请求资源完成后，根据相应的缓存机制，将一些静态资源存储在本地磁盘当中，这样下次请求资源的时候，浏览器直接从本地缓存中读取文件，不需要再次发送请求。这样可以减少了网络延迟，加快了页面响应速度，增强了用户体验；减少了网络带宽消耗；减轻了服务器的压力。
浏览器缓存有哪些标识?
我们如何知道，每一次资源请求是从本地获取还是服务器？以Chrome为例，打开开发者工具，点击network tab，选择all，这里会显示我们请求的所有静态资源的加载]]></description><category></category></item><item><title><![CDATA[vue3在setup中使用vuex相关方法]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/109063047</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/109063047</guid><author>sendudu</author><pubDate>Tue, 13 Oct 2020 23:04:09 +0800</pubDate><description><![CDATA[setup没有this
我们知道vue3的setup函数中是没有this的，就算传了context参数，打印出来也没有相关属性
useStore
这里我们可以直接从vuex 4.X中解构出useStore方法，就可以在setup中使用vuex的相关函数了，例子如下
&lt;template&gt;
  &lt;div&gt;
    &lt;h2&gt;{{ $store.state.count }}&lt;/h2&gt;
    &lt;button @click="plusCount"&gt;点击&lt]]></description><category></category></item><item><title><![CDATA[vue-cli小记]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/109014905</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/109014905</guid><author>sendudu</author><pubDate>Sun, 11 Oct 2020 18:17:00 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Element.getBoundingClientRect()]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/108790662</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/108790662</guid><author>sendudu</author><pubDate>Fri, 25 Sep 2020 10:13:01 +0800</pubDate><description><![CDATA[getBoundingClientRect和scrollTo…的使用场景不同

]]></description><category></category></item><item><title><![CDATA[JavaScript新的时间全局对象Temporal]]></title><link>https://blog.youkuaiyun.com/sendudu/article/details/108640625</link><guid>https://blog.youkuaiyun.com/sendudu/article/details/108640625</guid><author>sendudu</author><pubDate>Thu, 17 Sep 2020 14:02:30 +0800</pubDate><description><![CDATA[背景
ECMA TC39临时提案正在努力为JavaScript语言编写更好的日期和时间API。 它目前处于TC39流程的第二阶段。
Temporal将成为一个新的全局对象，它的形式是顶级名称空间（如Math）。 它公开了许多不同类型的对象，包括Temporal.Absolute，Temporal.DateTime，Temporal.Date，Temporal.Time，Temporal.TimeZone等。 Temporal Cookbook展示了许多“食谱”，并举例说明了如何在不同的场景中使用这些对象。
]]></description><category></category></item></channel></rss>