代码之家  ›  专栏  ›  技术社区  ›  Iter Ator

如何在自动执行函数中打包我的库?(铭文)

  •  0
  • Iter Ator  · 技术社区  · 8 年前

    我用Embind和Emscripten在C++中创建了一个库。

    一些手写的JS代码也使用添加到库中 --pre-js

    图书馆工作正常。但我想重新安排代码,如下所示:

    var MYLIB = (function(){
      // ... Original Code ...
      return Module;
    })();
    

    因此代码不会污染全局命名空间,代码缩小器可以做得更好。

    在中是否有内置功能 emcc ?
    该库将仅在webbrowser中运行,而不在nodejs中运行。

    1 回复  |  直到 8 年前
        1
  •  1
  •   user1906    8 年前

    你要找的是 MODULARIZE EXPORT_NAME 选项。查看中的文档 settings.js .

    引用该文件:

    //默认情况下,我们以直接的方式将所有代码输出到输出中
    //.js文件。这意味着如果您将其加载到web的脚本标记中
    //页面,它将使用全局范围。使用MODULARIZE设置,我们将发射
    //
    //var EXPORT_NAME=函数(模块){
    //模块=模块||{};
    ////..所有从emscripten发出的代码。。
    //返回模块;
    // };
    //
    //其中EXPORT_NAME来自同名选项