构建工具和koffi
构建工具
本机模块
Koffi 2.5.9 中的简化
Koffi 使用本机模块来工作。NPM 包包含适用于各种平台和架构的二进制文件,并在运行时选择适当的模块。
理论上,构建工具应该能够找到所有本机模块,因为它们在 Javascript 文件中明确列出(作为静态字符串)并以某种方式打包它们。
如果不是这种情况,您可以手动安排复制node_modules/koffi/build/koffi
构建脚本旁边的目录。
这是一个可行的示例:
当在Electron中运行时,Koffi也会尝试在process.resourcesPath中查找本地模块。对于Electron应用程序,您可以像这样做。
间接加载
Koffi 2.6.2 中的新功能
某些构建工具(例如 vite)不喜欢将 require 与本机模块一起使用。
在这种情况下,您可以使用require('koffi/indirect')
,但需要确保原生 Koffi 模块已正确打包。
打包示例
Packaging with electron-builder should work as-is.
Electron Forge
Packaging with Electron Force should work as-is, even when using webpack as configured initially when you run:
NW.js
Packagers such as nw-builder should work as-is.
Node.js and esbuild
You can easily tell esbuild to copy the native files with the copy loader and things should just work. Use something like:
Last updated