如何将 npm 模块编译成浏览器脚本?

How to compile a npm module into a browser script?

我想自定义 Parse SDK。他们通过 npm module 提供源代码,这使得它可以在节点环境中使用。

我怎样才能将这个节点模块编译成一个独立的 parse.js 脚本,它将 运行 就像在浏览器上一样?

我尝试将 browserify 用作

browserify ./parse -o parse.js

但是它吐出的 parse.js 相当大并且仍然包含节点 remanents:processrequire 命令。虽然它在浏览器上执行没有任何错误,但浏览器找不到 Parse 定义。

据我所知,Parse-module 不会将自己暴露为浏览器全局。您应该有一个文件,例如 app.js,其中包含您的定义并使用它来要求 Parse 模块。

例如:

//app.js
var Parse = require("parse");
console.log(Parse)

捆绑它(捆绑包将包含您的 app.js 和 parse-模块的内容:

browserify ./app.js -o app.bundle.js

并将捆绑文件包含到您的 HTML 文件中

<script src="app.bundle.js"

打开 HTML 文件后,您应该会在控制台中看到 Parse 对象。

找到将parse npm模块编译成浏览器脚本的正确方法是使用:

browserify path/to/npm/parse --standalone parse > parse-browser.js

对于任何其他脚本,它应该是:

browserify path_to_module --standalone global_name_to_expose > output.js

此外,由于解析节点模块有很多节点代码,我建议人们使用envify followed by uglify来使他们的代码更优化。