node-gyp rebuild --arch=ia32 para compilarlo en Windows10. Pero cuando lo usé en el sitio web de Azure, tengo el siguiente problema:Wed Apr 26 2017 04:48:35 GMT+0000 (Coordinated Universal Time): Application has thrown an uncaught exception and is terminated: Error: The specified module could not be found. \\?\D:\home\site\wwwroot\app\api\lib\opencv.node at Error (native) at Object.Module._extensions..node (module.js:434:18) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Module.require (module.js:353:17) at require (internal/module.js:12:17) at Object.<anonymous> (D:\home\site\wwwroot\app\api\lib\image_operation.js:5:14) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32)
Este es el código al que llamo:
'use strict'; var fs = require('fs'); var path = require('path'); var opencv = require("./opencv.node"); function isContains(str, substr) { return new RegExp(substr).test(str); } module.exports = { post: function (imageInfo, data) { if (isContains(imageInfo.imageName, ".yuv")) { var imageName = imageInfo.imageName.substr(0, imageInfo.imageName.length - 3) + "jpg"; opencv.yuvToJpeg(path.resolve(__dirname, "../../image/" + imageName), imageInfo.width, imageInfo.height, Array.prototype.slice.call(data, 0)); } else if (isContains(imageInfo.imageName, ".jpg")) { fs.writeFileSync(path.resolve(__dirname, "../../image/" + imageInfo.imageName), data); } return "success"; } };Pero ese archivo, de hecho, está implementado en el servidor:
Por favor, ayúdame y dime qué hacer.
Su archivo Léame dice que "Necesitará OpenCV 2.3.1 o más reciente instalado antes de instalar node-opencv" . Y como Azure Web Apps es un software como servicio (SaaS), no tenemos el privilegio de instalar software arbitrario allí. Pero si ese es un requisito para usted, deberá utilizar una oferta alternativa, como Cloud Service o VM.