Decorative image frame

Wangx's blog

Whatever is worth doing is worth doing well.

Wangx's blog

深入浅出webpack读后感

  《深入浅出webpack》这本书是我在5.6月份的时候买的,现在想来真是太傻了。这么说吧看了下这本书的印刷版次是2018年1月,作者在序中写到写书的时候是v3.8.1,书印刷出版之后,2月份v4.0就正式发布了。自从有了这次教训我发誓再也不会买这类工具书了,或者说前端相关的书也少买了,因为更新速度实在太快了,不过像《JavaScript语言精粹》、《CSS揭秘》这些书还是蛮推荐购买支持一下的,至少读起来不会过时。
阅读更多...

前端模块化

前言

  模块化是前端开发的一个重要理念/思想,随着web的发展,嵌入网页的代码js代码越来越来,web开发变得越来越复杂,大型的web应用的复杂程度可能超过了桌面程序,所以模块化的思想因此而发展起来。模块就是实现特定功能的相互独立的一组方法。有了模块,就可以更好的管理web应用的逻辑,使用这种方式在不仅能提高代码复用率、可维护性,还能作为开源项目提供给开发者使用。

  模块化的发展经历了几个阶段,现在逐渐发展成熟,特别是ES6的模块化,引用前端圈的话可以说是王者归来。有了模块,为了开发者能够方便的加载模块,就需要一套编写模块的规范了,比较流行的有CommonJS、AMD、以及ES6模块化规范。我觉得学习的重点主要还是ES6模块化规范,毕竟被誉为终极解决方案、王者归来等等。目前nodejs还在使用CommonJS,但相信不久的将来nodejs也会转而使用ES6模块化规范。
阅读更多...

node.js+express搭建简单的web服务器

前言

  有朋友问我关于nodejs搭建web服务器的问题,我对node的了解也不多,所以简单的学习了解一下,帮朋友解决了一些问题。

  首先,很多人都在问nodejs适不适合web服务器开发。这个问题知乎上面已经有很多解答了,比较详细点赞较多的一条:使用 Node.js 的优势和劣势都有哪些? - FengqiAsia的回答 - 知乎,年代久远不知道是否适用。看了相关的介绍之后,我觉得nodejs是非常适合做web服务器的,网上大多的评价都是可靠性低,单进程、单线程,一个崩掉整个进程就崩掉之类的,异常难以定位。还有可能是从传统语言转过来写js的话,可能在一段时间内很难适应吧。

  看了下,linkedin、yahoo的服务器就是用node写的,还有之前去了解的unity-cache-server,说明node的优点是毋庸置疑的。可靠性低进程崩掉等缺点其实是都可以通过代码的健壮性来避免的(说着轻巧),另外异常处理相关的也有很多库和进程管理程序监控node的运行。
阅读更多...

快速生成项目结构图-tree命令的使用

.
├── app.js               # 入口文件
├── bin                     # 可执行文件
│   └── www
├── package-lock.json
├── package.json         # 项目信息及模块依赖
├── public                 # 存放image、css、js等静态资源
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes                 # 路由文件
│   ├── index.js
│   └── users.js
└── views                 # 视图/模版文件
    ├── error.ejs
    └── index.ejs

  上面这种树形项目结构图在前端项目介绍中非常常见,之前都以为是通过生成器生成或是手敲的,今天才发现linux下使用tree命令就可以直接生成上面的项目结构图。mark一下。
阅读更多...

TypeScript泛型

前言

  之前上手typescript+vue的时候,vue也没有完全支持typescript,当时看typescript的文档的时候,就大概的过了一遍。当时也不是很清楚如何在vue中使用typescript,更别说泛型了。

  软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。 组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能。

  这是typescript官方文档的介绍,个人感觉不是太好理解,个人理解这里的组件更多的是指方法,官方的泛型示例也都是跟方法相关的。
阅读更多...