代码之家  ›  专栏  ›  技术社区  ›  Firas Dib

减少编译到WASM的.NET占用空间

  •  0
  • Firas Dib  · 技术社区  · 5 年前

    csc /target:library -out:regex101.dll \
        /noconfig /nostdlib \
        \
        /r:$WASM_SDK/wasm-bcl/wasm/mscorlib.dll \
        /r:$WASM_SDK/wasm-bcl/wasm/System.dll \
        /r:$WASM_SDK/wasm-bcl/wasm/Facades/netstandard.dll \
        /r:$WASM_SDK/framework/WebAssembly.Bindings.dll \
        \
        regex101.cs
    
    mono $WASM_SDK/packager.exe \
        --copy=always --out=./publish \
        regex101.dll
    

    如果我在网页中包含这些js文件,我就可以在浏览器中很好地运行转换后的代码。然而,最终的大小(大约23个dll+JS+Wasm)总共大约是15mb,这是非常大的,我相信这是因为没有运行死代码消除,而且框架的大部分内容都被包含在内。

    我被推荐运行一个链接器(见 https://github.com/firasdib/Regex101/issues/156#issuecomment-497281517 )执行死代码消除,但作为一个.NET新手,我不知道怎么做。

    任何帮助都将不胜感激。

    0 回复  |  直到 5 年前