什么是代理?
在计算机领域,代理泛指中间传输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
技术简化了数据的存储和处理。