大家是怎么认识目前前端知识难点和技术含量比较高的地方呢?

1.webpack或者vue-cli3或者最新比较火热的vite,里面涉及的知识点和内在逻辑应该是比较复杂的;
2.node进行服务端开发,相对前端这个工种而言,也确实算很强大的工具了;
3.vue/react框架类源码,要实现这么好用的功能及兼容健壮性,这些作者做了一些什么工作,大家除了熟练使用api还有其他一些收获吗?

阅读 2k
1 个回答

软件行业的问题,大体上可以分为 为什么怎么做,还有 怎么做得更好。然后用新技术升级所有老产品,再去寻找下一个痛点,重复前面的过程。

拿 webpack 举例子。为什么会有 webpack?早期的 JS 没有模块管理机制,很难复用代码; HTML、CSS、视频、声音、Flash 等静态资源非常难维护,每次开发和部署都要费老大劲。于是开发者开始从工程学的角度来解决这些问题:

  1. 以 js 作为入口,因为 js 有最丰富的语法
  2. 所有资源通过特定 loader 加载
  3. 使用钩子机制处理构建环节

webpack 出现后,因为很好的解决了 为什么,所以很快就取得应有的统治性地位。错过了 为什么 的开发者则努力去改进它,于是诞生了 二级脚手架,比如 @vue/cli

了解了 为什么 再去考虑 怎么做,会更容易一些。也知道该看什么不该看什么。比如,你希望在加载某个类型的文件前做一些事情,那你就应该研究 loader 的写法,顺便可以阅读相关的一些 webpack 代码;如果你想给生成的 html 里加上原生 lazyloading,就应该用插件。

其它工具和仓库也是类似,一定要从需求出发,在理解了设计动机和基础设计之后,再去阅读特定的源码。如果有机会不读源码先动手(比如开发 loader、plugin),那么应该先开发。

已参与 「极客观点」 ,欢迎正在阅读的你也加入。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题