发现论坛里有人问到如何使用 第三方 npm modules:
- https://jsboxbbs.com/d/136--
- https://jsboxbbs.com/d/251-jsbox-js
这里分享一个简单的方法:browserify
。
这里以引用 cheerio
为例:
- 安装 browserify:
npm install -g browserfiy
# yarn global add browserify
- 在任意的临时目录,安装
cheerio
:
npm install --save cheerio
# yarn add cheerio
- 找到
cheerio
的入口文件,对其进行 browserify:
browserify -s cheerio -e node_modules/cheerio/index.js -o cheerio.js
把 cheerio.js
拷贝到自己的项目里,使用 require('./cheerio')
即可引用(注意不是 cheerio
)。
备注:
注意 browserify 的 flags
-s
后跟 module 名称,可以为任意名称。具体查看 browserify 的 help。
-e
后跟想打包的 module 的入口文件,不同 npm 包的入口文件可能不一样。
什么样的 npm 包可以被用在这种场景?
JavaScript 一般有这三种运行时(runtimes):
- 浏览器
- node.js
- JavaScriptCore 类(没有 npm 标准库,没有浏览器 API)
三者关系如下图所示:

因此,只有一小部分 npm 库,例如 cheerio、moment 能被使用在 jsbox 里。常见的其他库,比如 jQuery 是不行的。