我正在尝试在NodeJs中部署AzureFunctions,但它在Azure上不起作用。我的应用程序是在Linux上运行的v3函数。
部署完成后,我收到此500错误:
错误:/home/site/wwwroot/node_modules/canvas/build/版本/canvas.节点:ELF标头无效
它的发生只有在我这样做的时候才会进口:
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子系统进行部署时,它可以工作。我希望这对一些人有帮助。
2条答案
按热度按时间8ftvxx2r1#
Azure函数在*将*部署到Azure中时将不包括
Node_modules
。因为Node_modules
目录包含非常大的文件。你可以在函数目录中包括你的package.json
,并使用Kudu(https://<function_app_name>.scm.azurewebsites.net )
或Azure门户中的控制台像处理Node.js项目一样正常运行npm install
。有关详细信息,请查看依赖关系管理。
请参阅此处Link 1和Link 2
ddrv8njm2#
这个主题有什么更新吗?对我来说,通过KUDU或其他终端在云功能应用程序中手动运行npm安装似乎不是一个有效的选项-特别是与Continues部署等。
在使用画布生成条形码时遇到了同样的问题...