You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node-RED自定义节点中如何正确引入npm依赖(Axios)?

Node-RED自定义节点引入npm包的正确方式

核心解决步骤:

  1. 先在节点项目目录安装依赖包
    进入你的自定义节点所在的文件夹(需包含package.json文件),执行命令:

    npm install axios --save
    

    这是关键前提——Node-RED加载自定义节点时,只会从节点目录的node_modules中查找依赖,未安装的话必然报错。

  2. 在模块最顶部引入依赖
    将require语句放在module.exports代码块之外,这样整个节点模块都能复用该依赖,避免重复加载:

const axios = require('axios');

module.exports = function(RED) {
    function NewNode(config) {
        RED.nodes.createNode(this, config);

        var node = this;
        node.on('input', async function (msg) {
            try {
                // 示例:用Axios发起GET请求
                const res = await axios.get('https://your-api-url.com');
                msg.payload = res.data;
                node.send(msg);
            } catch (err) {
                // 错误处理,将信息输出到Node-RED控制台
                node.error('HTTP请求失败:' + err.message);
            }
        });
    }
    RED.nodes.registerType("custom-node", NewNode);
}

之前报错的原因:

  • 未在节点目录安装Axios:Node-RED不会自动安装依赖,必须手动在节点项目中执行安装命令,将依赖写入package.json。
  • 即便在input函数内require语法合法,但每次触发输入都加载模块效率极低,且本质未解决依赖缺失的问题。

内容的提问来源于stack exchange,提问作者ff8mania

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 12:57:08