将 npm 引用添加到 NodeRed 中的自定义节点中

问题描述 投票:0回答:1

我第一次在 NodeRed 中创建自定义节点。我对 NodeJs/npm 世界也很陌生,所以我可能会问一些微不足道的事情,但我找不到答案。

我正在按照官方文档创建文档(创建你的第一个节点),一切都按预期工作,直到我的代码变得简单:

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

        var node = this;
        node.on('input', function (msg) {

            // My silly custom code
            this.warn("Something happened you should know about");

            var msg = { payload: "whatever" }
            node.send(msg);

        });
    }
    RED.nodes.registerType("custom-node", NewNode);
}

但现在我希望这个节点做更多的事情,比如使用 Axios 库进行 HTTP 调用。

我尝试最初导入它或在函数内部导入它,但它出错了。 我应该在哪里“添加引用”以在我的逻辑中使用该对象?

我尝试执行以下操作:

const axios = require('axios');

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

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

        var node = this;
        node.on('input', function (msg) {
             const axios = require('axios');
.....

在所有情况下,当我将自定义节点带入流程中时,它就会出错。

我应该在哪里导入所需的包?

谢谢!

javascript node.js node-red
1个回答
0
投票

问题不在于您所显示的代码。

您需要使用 npm 在创建节点的目录中安装 axios,以便将 axios 添加到其

package.json
作为依赖项

© www.soinside.com 2019 - 2024. All rights reserved.