<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[think_thinker的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/think_thinker</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; think_thinker]]></copyright><item><title><![CDATA[Babel 33 类高频易错场景完整版]]></title><link>https://blog.youkuaiyun.com/think_thinker/article/details/148816944</link><guid>https://blog.youkuaiyun.com/think_thinker/article/details/148816944</guid><author>think_thinker</author><pubDate>Sat, 21 Jun 2025 22:22:14 +0800</pubDate><description><![CDATA[本文整理了Babel使用中常见的33类问题，分为基础配置和高级语法两部分。基础配置部分涵盖polyfill选择、浏览器兼容性配置、模块转换、文件过滤、环境区分和corejs版本匹配等核心场景，提供了错误示例和优化方案。高级语法部分解析React JSX运行时和装饰器语法等问题的解决思路。每类问题均包含典型场景、错误案例、参考配置和最佳实践，帮助开发者快速排查和规避Babel相关工程化问题，提升编译效率和代码质量。]]></description><category></category></item><item><title><![CDATA[Webpack打包“Conflicting order“报错解决：从mini-css-extract-plugin源码到模块化CSS实践]]></title><link>https://blog.youkuaiyun.com/think_thinker/article/details/148811473</link><guid>https://blog.youkuaiyun.com/think_thinker/article/details/148811473</guid><author>think_thinker</author><pubDate>Sat, 21 Jun 2025 16:11:44 +0800</pubDate><description><![CDATA[Webpack 打包出现 "Conflicting order" 警告源于多 chunk 对 CSS 导入顺序的矛盾。单 chunk 场景下顺序可调和，多 chunk 则不可调和，导致 mini-cs]]></description><category></category></item><item><title><![CDATA[分析JS版的格式化日期]]></title><link>https://blog.youkuaiyun.com/think_thinker/article/details/92587978</link><guid>https://blog.youkuaiyun.com/think_thinker/article/details/92587978</guid><author>think_thinker</author><pubDate>Mon, 17 Jun 2019 11:26:26 +0800</pubDate><description><![CDATA[感谢 meizz 大神写的时间格式化通用函数，作为学习，简单解析一下


Date.prototype.format = function(format) 
{
  var o = {
    "M+" : this.getMonth()+1, //month
    "d+" : this.getDate(),    //day
    "h+" : this.getHours(),   //...]]></description><category></category></item><item><title><![CDATA[通过JavaScript手写实现map，reduce高阶函数]]></title><link>https://blog.youkuaiyun.com/think_thinker/article/details/92417811</link><guid>https://blog.youkuaiyun.com/think_thinker/article/details/92417811</guid><author>think_thinker</author><pubDate>Sun, 16 Jun 2019 18:53:27 +0800</pubDate><description><![CDATA[(function() {
    var selfMap = function(fn, context) { // fn: 回调  context:回调作用域指定的this
        // 1. 获取调用者this,并转为数组
        var arr = ([]).slice.call(this);
        // 2. 遍历调用者
        var arrMap =...]]></description><category></category></item><item><title><![CDATA[了解Scroll，Client，Offset相关属性]]></title><link>https://blog.youkuaiyun.com/think_thinker/article/details/91449720</link><guid>https://blog.youkuaiyun.com/think_thinker/article/details/91449720</guid><author>think_thinker</author><pubDate>Tue, 11 Jun 2019 17:20:28 +0800</pubDate><description><![CDATA[前言




Offset用于计算相对一个元素的偏移量
	Client用于计算元素的内容区尺寸
	Scroll用于计算元素的滚动区域尺寸



Offset 偏移量




offsetParent

1. 是否具有定位的祖先元素，如果有返回对应的祖先元素

2. 如果没有，那么返回最近的table、td、th或者body元素。



offsetLeft

相对offsetParent...]]></description><category></category></item><item><title><![CDATA[JS中判断一个值是否是一个安全值]]></title><link>https://blog.youkuaiyun.com/think_thinker/article/details/90204710</link><guid>https://blog.youkuaiyun.com/think_thinker/article/details/90204710</guid><author>think_thinker</author><pubDate>Tue, 14 May 2019 13:50:11 +0800</pubDate><description><![CDATA[function isSafe(val,...otherArr){
    let strNullArr = ["",null,"null","undefined"].concat(otherArr);  // 根据系统要求可以添加
    return isFinite(val)&amp;&amp;!strNullArr.includes(val)
}
isFinite: 除了Infinity...]]></description><category></category></item><item><title><![CDATA[看懂这个案例,了解ES6的解构赋值]]></title><link>https://blog.youkuaiyun.com/think_thinker/article/details/89518362</link><guid>https://blog.youkuaiyun.com/think_thinker/article/details/89518362</guid><author>think_thinker</author><pubDate>Thu, 25 Apr 2019 16:13:14 +0800</pubDate><description><![CDATA[// 字符串可以化成数组,数组又是特殊的对象 str =&gt; [] =&gt; {}
let str = "Hello ES6"; 

let {0: a} = str;  // 对象解构是根据属性
console.log(a); // H

let [b] = str;  // 数组解构是根据位置
console.log(b); // H

let {length: len} = str;...]]></description><category></category></item><item><title><![CDATA[npm 常用命令详解]]></title><link>https://blog.youkuaiyun.com/think_thinker/article/details/89284069</link><guid>https://blog.youkuaiyun.com/think_thinker/article/details/89284069</guid><author>think_thinker</author><pubDate>Sat, 13 Apr 2019 16:03:23 +0800</pubDate><description><![CDATA[npm 常用命令详解

本文以Windows平台上做测试，以gulp为示例做教程，出自作者白树，转载请声明！

目录

npm是什么
	npm install 安装模块
	npm uninstall 卸载模块
	npm update 更新模块
	npm outdated 检查模块是否已经过时
	npm ls 查看安装的模块
	npm init 在项目中引导创建一个package.json文件
	n...]]></description><category></category></item><item><title><![CDATA[记一次前端获取SpringBoot返回的文件流的踩坑]]></title><link>https://blog.youkuaiyun.com/think_thinker/article/details/89242077</link><guid>https://blog.youkuaiyun.com/think_thinker/article/details/89242077</guid><author>think_thinker</author><pubDate>Fri, 12 Apr 2019 16:10:12 +0800</pubDate><description><![CDATA[通过访问后台返回文件流的方式我想大家都会，这次就不展开讲了。主要想说的是向后台传递文件路径时的一些小思考!

前提是访问图片流的方式用的是restful + 动态路径填充的方式，eg: locahost:8080/test/img/1.png

如果你获取的文件路径只是文件名的话(就像我上面举的例子)，文件路径就可以安全的传递到后台，完全没有问题。

但是假如你现在的文件路径为：shop/good...]]></description><category></category></item><item><title><![CDATA[推荐！国外程序员整理的Java资源大全]]></title><link>https://blog.youkuaiyun.com/think_thinker/article/details/88747764</link><guid>https://blog.youkuaiyun.com/think_thinker/article/details/88747764</guid><author>think_thinker</author><pubDate>Fri, 22 Mar 2019 18:20:31 +0800</pubDate><description><![CDATA[推荐！国外程序员整理的Java资源大全

2015/01/08 | 分类：基础技术|3 条评论| 标签：JAVA开发资源

分享到：

本文由ImportNew-唐尤华翻译自github akullpp。欢迎加入翻译小组。转载请见文末要求。

构建

这里搜集了用来构建应用程序的工具。

Apache Maven：Maven使用声明进行构建并进行依赖管理，偏向于使用约定而不是配...]]></description><category></category></item><item><title><![CDATA[关于SpringMVC的单例你真的懂了吗？]]></title><link>https://blog.youkuaiyun.com/think_thinker/article/details/80727719</link><guid>https://blog.youkuaiyun.com/think_thinker/article/details/80727719</guid><author>think_thinker</author><pubDate>Mon, 18 Jun 2018 23:54:43 +0800</pubDate><description><![CDATA[今天，一个学长给我发了一个问题，通过在Controller里定义一个私有的成员变量，并且通过在一个有标记的方法中对该变量实现++的操作，问是否可以通过该变量，可以获取到程序中访问该方法的次数？当时我知道是个坑但是不知道问什么，后来通过自己的研究和学长的解释，才明白SpringMVC中的单例相对的不仅仅是当前类，类中的属性也是单例的，所以内存中只有一份空间，每次都会进行相应刷新内存，所以不可以这么去...]]></description><category></category></item></channel></rss>