发布于 2026-01-06 0 阅读
0

1000 星以下的优秀项目 (3) - Lyo Lyo DEV 的全球展示挑战赛,由 Mux 呈现:展示你的项目!

1000星以下的优秀项目 (3) - Lyo

莱奥

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

莱奥

JavaScript 环境最受赞赏的特性之一无疑是NPM庞大的开源软件包库。它易于使用、(大多数情况下)可靠、快速、安全……拥有诸多优势。

另一方面,即使是资深开发者也对Node.js和JavaScript浏览器引擎之间奇怪的二元性感到厌烦。虽然Node.js允许在后端和前端运行相同的代码,但我们始终未能实现真正的无缝协作。

莱奥

Lyo 的目标正是填补这一空白。这款工具可以将任何 Node.js 包转换为单文件浏览器库。
让我们通过一个示例来了解它的运行情况。

首先,我在 NPM 上随机选择一个我想在浏览器中使用的包。JavaScript 缺少的一个常见功能是原生加密,所以我选择了sha1。假设我想把这个哈希脚本添加到一个纯 HTML 页面中。

既然有了npx,我甚至不需要安装 Lyo,可以直接运行:

npx lyo get sha1
Enter fullscreen mode Exit fullscreen mode

冻干结果

从上到下,我们可以看到:

  • Lyo的安装耗时6.5秒。
  • 运行 sha1 版本 1.1.1
  • 它读取了文件 sha1.js
  • 输出一个名为 sha1.min.js 的文件
  • 图书馆sha1
  • Browserify、Babel 和 Uglify 已成功运行
  • Lyo 终止过程无误

然后,我只需将输出文件添加到我的 HTML 页面中即可。

<script src="sha1.min.js"></script>
<script>
console.log(sha1("P@ssWord")); // => 56355fa0c17cb7f9dc0d936f6c7aa385114ee097
</script>
Enter fullscreen mode Exit fullscreen mode

这太简单了!

还不够简单?甚至不想打开终端?Lyo 可以帮你搞定。只需在你常用的浏览器中打开lyo.now.sh,然后输入你想编译的软件包名称。Lyo 会处理一切,并输出如何通过 CDN 或 Node.js 使用该软件包的信息。

Lyo服务

另一方面,为什么不为用户提供浏览器版本的 Node.js 包呢?
当然,您可能已经在使用 Browserify 或 Webpack,但现在您可以将所有工作委托给 Lyo。

打开项目文件夹,然后运行:

npx lyo init
npm install
Enter fullscreen mode Exit fullscreen mode

Lyo 会编辑该package.json文件,将自身添加为依赖项,并添加一个脚本来执行它。现在,每次您将作品发布到 NPM 时,它都会被打包成一个单独的文件。该文件可以直接下载,也可以通过jsDelivrunpkg
等 CDN 下载

需要注意的是,Lyo 无法保证其输出在浏览器环境下能够正常运行。例如,使用文件系统或任何仅限 Node.js 功能的包将无法在浏览器中运行。此外,Browserify 对 ES6 特性(例如import/export)的使用有很强的限制。这意味着您无法使用 Node.js 最新版本尚未支持的语法。

我非常喜欢它能如此轻松地使用如此复杂的流程。无论你是否喜欢NPM 的极致模块化设计,Lyo 都能让你驾驭这种强大功能。

下个月见。

文章来源:https://dev.to/gmartigny/awesome-projects-under-1000-stars-3---lyo-2k93