通过使用 Emscripten 编译器的方式,从而实现 libwebp 项目从 C/C++ 到 WASM 的转变。大致的流程如下:
主要包括安装 emsdk、cmake 以及 pnpm,具体的安装方式可以参考 Emscripten 官方文档、pnpm 官方文档以及安装 cmake。
git submodule update --init --recursive --remote --rebase
在使用 zsh 的情况下,推荐安装 dotenv 插件,这样就可以实现一些功能,比如在当前目录存在 .env 文件的情况下设置环境变量。
pnpm build:mac
docker build -f ./docker/Dockerfile -t libwebp-wasm/gif2webp:latest .
docker run --rm -v $(pwd)/dist:/gif2webp/dist -v $(pwd)/es:/gif2webp/es -v $(pwd)/lib:/gif2webp/lib libwebp-wasm/gif2webp:latest
注意:现在是通过运行 git apply
命令的方式,实现修改上游 submodule 项目代码的目的。所以,有时候需要在 submodule 目录下提交自己的 commit,然后手动执行生成 patch 的操作。
pnpm build:patch
MIT