我第一次在 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');
.....
在所有情况下,当我将自定义节点带入流程中时,它就会出错。
我应该在哪里导入所需的包?
谢谢!
问题不在于您所显示的代码。
您需要使用 npm 在创建节点的目录中安装 axios,以便将 axios 添加到其
package.json
作为依赖项