__dirname这样无法使用还是未定义?

时间:2019-03-06 05:25:41

标签: javascript node.js botframework

我设置了如下所示的变量
pathImage = __dirname + '/bot.jpg;

我想从我的.env文件中将pathImage的值传递给IconUrl。这就是我的方法。
var invite = new Welcome(process.env.IconUrl=pathImage, process.env.BotVersion);

最后,我从NodeJ收到此错误

  

[onTurnError]:语法错误:JSON中位置633处的意外令牌U

但是,这对我有用(手动设置路径,不是更可取的方式)
var invite = new Welcome(process.env.IconUrl='C:/Users/Mackhem/Desktop/testBot/bot.jpg', process.env.BotVersion)

1 个答案:

答案 0 :(得分:0)

我认为有一些事情要解决:

  1. 您在'中缺少pathImage = __dirname + '/bot.jpg;了-可能只是错字
  2. 我相信您正在尝试致电process.env.IconUrl,但是您正在与process.env.IconUrl=pathImage同时设置

解决方法:

在您的.env文件中:

IconUrl=bot.jpg

在另一个文件中:

const pathImage = path.join(__dirname, '..', process.env.IconUrl);
var invite = new Welcome(pathImage, process.env.BotVersion);

注意:您无法在__dirname文件中使用.env,因为.env文件中的所有内容都会转换为字符串。