【问题标题】:How to compile a npm module into a browser script?如何将 npm 模块编译成浏览器脚本?
【发布时间】:2015-11-25 11:36:29
【问题描述】:

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

如何将此节点模块编译为独立的parse.js 脚本,该脚本将在浏览器上运行?

我尝试使用browserify

browserify ./parse -o parse.js

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

【问题讨论】:

  • 它很大,因为它添加了浏览器compatible process等等。 parse.js 你有什么?

标签: javascript node.js npm gulp browserify


【解决方案1】:

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

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

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

browserify path_to_module --standalone global_name_to_expose > output.js

另外,由于解析节点模块有很多节点代码,我建议人们使用envify 后跟uglify 以使他们的代码更加优化。

【讨论】:

    【解决方案2】:

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

    例如:

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

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

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

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

    <script src="app.bundle.js"
    

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

    【讨论】:

    • Parse 确实全局公开了 Parse 方法/类。无论如何谢谢;)
    猜你喜欢
    • 2018-12-31
    • 1970-01-01
    • 1970-01-01
    • 2017-06-30
    • 2017-04-04
    • 2015-12-27
    • 2022-11-14
    • 1970-01-01
    • 2018-05-05
    相关资源
    最近更新 更多