解决问题:
1.在可视化界面,执行const iconv = require('iconv-lite');,报Cannot find module 'iconv-lite' [line 2]错误;
查看module的路径
进入docker容器
#docker exec -it n8n/bin/sh
构建一个test.js,并写入如何代码
vi test.js
console.log(module.paths)
执行test.js
#node test.js

发现没有node_modules,则创建node_modules文件夹

安装iconv-lite
-
#cd /home/node/.n8n
#npm install iconv-lite
-
验证iconv-lite是否安装成功
-
创建一个新的 JavaScript 文件,例如 test-iconv-lite.js,并在其中编写一些简单的代码来测试 iconv-lite
// 引入 iconv-lite 模块
const iconv = require('iconv-lite');// 示例字符串
const text = "Hello World!";// 将字符串编码为 Buffer 使用 'win1251' 编码
const encodedBuffer = iconv.encode(text, 'win1251');
console.log("Encoded buffer:", encodedBuffer);// 将 Buffer 解码回字符串
const decodedText = iconv.decode(encodedBuffer, 'win1251');
console.log("Decoded text:", decodedText);
运行测试脚本 node test-iconv-lite.js

在可视化界面进行验证
报Cannot find module 'iconv-lite' [line 2]

原因:在docker run运行时,需要加"-e NODE_FUNCTION_ALLOW_EXTERNAL=iconv-lite" 才行,再执行,效果如下图:
