我正在尝试在 NodeJs 中部署 AzureFunctions,但它在 Azure 上不起作用。 我的应用程序是在 Linux 上运行的 v3 函数。
部署完成后,我收到此 500 错误:
Error: /home/site/wwwroot/node_modules/canvas/build/Release/canvas.node: invalid ELF header
只有当我执行此导入时才会发生:
import ChartDataLabels from 'chartjs-plugin-datalabels';
const canvasRenderService = new CanvasRenderService(width, height, chartCallback);
const chartCallback = (ChartJS) => {
ChartJS.register(require('chartjs-plugin-datalabels'))
};
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const { document } = (new JSDOM(`...`)).window;
有人可以帮我吗?
它(仅)在我的机器上工作:(
编辑:当我通过 Linux 子系统进行部署时它可以工作。 我希望这会对某人有所帮助。
最佳答案
Azure 函数将不包含 Node_modules
部署到 Azure 中。因为Node_modules
目录包含非常大的文件。您可以包括您的package.json
在您的函数目录中并运行 npm install
就像您通常使用 Kudu 处理 Node.js 项目一样 (https://<function_app_name>.scm.azurewebsites.net )
或 Azure 门户中的控制台。
检查Dependency management了解更多信息。
关于node.js - 如何修复 Linux 中 NodeJs Azure Functions 上的 "Error:/home/site/wwwroot/node_modules/canvas/build/Release/canvas.node: invalid ELF header"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70118141/