Fuente C++ (aplicación.cpp):
#include <stdio.h> #include <emscripten/bind.h> using namespace emscripten; float lerp(float a, float b, float t) { return (1 - t) * a + t * b; } EMSCRIPTEN_BINDINGS(my_module) { function("lerp", &lerp); } Ejecute el comando: emcc -lembind -o ../output/app.js app.cpp -s ENVIRONMENT=web
Luego inicie Webpack dev-server (punto de entrada: bootstrap.js). bootstrap.js:
const app = require('./wasm/output/app.js'); Y... ¿cómo usar el código compilado ahora? Los ejemplos de la documentación oficial muestran solo el uso de la etiqueta <script> . Dice que ese código se puede usar como módulo de nodo, pero no encontré ningún ejemplo. console.log(app) muestra Object . app.lerp(1, 2, 0.5) o Module.lerp(1, 2, 0.5) devuelven app.lerp / Module.lerp is not a function . Intenté agregar export default Module al final del archivo .js compilado y usarlo como import(...) , console.log(app) dice que el Módulo es una función.
Intenté agregar -s MODULARIZE=1 bandera, el mismo resultado.
¿Cómo usar C ++ compilado a través de import o require?