CodeSandbox 是如何让 NPM 上的模块直接在浏览器端运行的

摘要

在开发CodeSandbox的初期,我总是将npm依赖模块的支持列在我们的支持范围之外。我认为在浏览器中安装任意数量的npm包是不可能实现的,即使去想一下我都觉得绝不会有实现思路。

而今天,对npm的支持已经是CodeSandbox最核心的特性之一,所以不管怎么样,我们都已经实现了它。我们做了大量的迭代来让它在任意的场景下都能正常运行;同时,我们也做了非常多的重写,甚至是在该功能已经在线上顺畅运行的今天,我们依然可以对其实现逻辑做改进。在这篇文章中,我首先会介绍刚开始我们是怎么做的,现在我们做到了一个什么程度,以及我们还可以继续做哪些改进。

欢迎在评论区写下你对这篇文章的看法。

评论

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-23 10:54
浙ICP备14020137号-1 $Map of visitor$