UglifyJS有个不错的JavaScript解析器
为项目挑选合适的工具是常态,而本文记录的正是作者为异步JavaScript编译器Jscex寻找更优解析器的经历。作者此前使用的Narcissus解析器因依赖SpiderMonkey扩展,无法在IE8等仅支持ECMAScript 3的浏览器中运行,其输出的AST结构也存在不理想之处。 在评估了NarrativeJS内置的旧版解析器并发现其功能缺陷后,作者转向了UglifyJS。通过实际使用,他发现UglifyJS内置的解析器不仅完全符合标准,性能上也显著优于Narcissus,从而顺利解决了兼容性、功能与性能的多重需求。 这篇分享不仅是一个具体的工具替换案例,更展示了一个实用的工具选择思路:当现有方案成为瓶颈时,跳出原有框架去探索(如从压缩工具中寻找解析器),往往能收获意想不到的解决方案。