Node-Red 自定义 node_modules 位置
Node-Red custom node_modules location
我正在使用像这样嵌入到我的 Express.js 应用程序中的 node-red
https://nodered.org/docs/embedding。当像这样嵌入时,node-red 无法从 npm 加载新节点。
问题是在 settings.js 中定义自定义用户目录时,例如 userDir: 'node-red-data/'
Node-red 将加载的节点添加到 node_modules.
中的此文件夹
所以我有两个 node_modules 文件夹:
myapp/node_modules => this is containing node-red
myapp/node-red-data/node_modules => this is containing node-red extra nodes
一些 node-red 无法加载侧边模块的方法 myapp/node-red-data/node_modules
有什么解决办法吗?
问题出在设置文件上。
我在用户目录中的设置:
var settings = {
httpAdminRoot: '/admin',
httpNodeRoot: '/ap',
nodesDir: '/nodes',
flowFile: "flows.json",
userDir: './data/'
}
正确设置:
var path = require('path');
var dir = path.dirname(__filename);
var settings = {
httpAdminRoot: '/admin',
httpNodeRoot: '/ap',
nodesDir: dir + '/nodes',
flowFile: "flows.json",
userDir: dir+'/data/'
}
因此将静态路径添加到用户目录和节点目录使其正常工作
我有类似的问题。
我用了 process.execPath
userdir = path.resolve(process.execPath,'..'); //better that __dirname;
因为编译应用程序时die不同
// Create the settings object - see default settings.js file for other options
var settings = {
verbose: true,
httpAdminRoot:"/admin",
httpNodeRoot: "/",
userDir: userdir, // problem with dir...
flowFile: 'flows.json',
};
我正在使用像这样嵌入到我的 Express.js 应用程序中的 node-red https://nodered.org/docs/embedding。当像这样嵌入时,node-red 无法从 npm 加载新节点。
问题是在 settings.js 中定义自定义用户目录时,例如 userDir: 'node-red-data/'
Node-red 将加载的节点添加到 node_modules.
所以我有两个 node_modules 文件夹:
myapp/node_modules => this is containing node-red
myapp/node-red-data/node_modules => this is containing node-red extra nodes
一些 node-red 无法加载侧边模块的方法 myapp/node-red-data/node_modules
有什么解决办法吗?
问题出在设置文件上。
我在用户目录中的设置:
var settings = {
httpAdminRoot: '/admin',
httpNodeRoot: '/ap',
nodesDir: '/nodes',
flowFile: "flows.json",
userDir: './data/'
}
正确设置:
var path = require('path');
var dir = path.dirname(__filename);
var settings = {
httpAdminRoot: '/admin',
httpNodeRoot: '/ap',
nodesDir: dir + '/nodes',
flowFile: "flows.json",
userDir: dir+'/data/'
}
因此将静态路径添加到用户目录和节点目录使其正常工作
我有类似的问题。
我用了 process.execPath
userdir = path.resolve(process.execPath,'..'); //better that __dirname;
因为编译应用程序时die不同
// Create the settings object - see default settings.js file for other options
var settings = {
verbose: true,
httpAdminRoot:"/admin",
httpNodeRoot: "/",
userDir: userdir, // problem with dir...
flowFile: 'flows.json',
};