
什么是代理?
在计算机领域,代理泛指中间传输web服务器,充当着用户和目标服务器之间的中介。代理(英语:Proxy)也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的私隐或安全,防止攻击。
提供代理服务的电脑系统或其它类型的网络终端称为代理服务器(英文:Proxy Server)。

最近在写一个组件时候遇到一个问题,用webpack将组件打包成一个符合UMD规范的组件时出现一个比较奇怪的现象:使用export default导出的全局变量会多一个default属性:
如:
– index.js
1 | let webpackDemo = { |
打包之后发现在全局下只能这么访问val值:
1 | webpackDemo.default.val; |
修改index.js代码
1 | let webpackDemo = { |

最近朋友面试问了关于tree shaking相关问题,之前对tree shaking不是很了解,只知道是减少打包体积用的。趁此机会了解了一下它的原委。
当前端项目到达一定的规模后,我们一般会采用按模块方式组织代码,这样可以方便代码的组织及维护。但会存在一个问题,比如我们有一个utils工具类,在另一个模块中导入它。这会在打包的时候将utils中不必要的代码也打包,从而使得打包体积变大,这时候就需要用到Tree shaking技术了。

第一眼看到React,其实我是拒绝的。一堆的HTML和Javascript混合在一起不闲热么!而且这不是我们应该极力避免的吗?然而依旧受那么前端攻城师的追捧…
Facebook公司创建并维护React的一个最重要的功能是你可以创建类似可自定义、可重复利用的HTML组件(components),能够快速、高效构建用户界面。同时通过使用 state和props技术简化了数据的存储和处理。