保存语法和 JSON.parse 代码时出错
Posted
技术标签:
【中文标题】保存语法和 JSON.parse 代码时出错【英文标题】:Error while saving syntax, and JSON.parse code 【发布时间】:2019-11-14 17:03:36 【问题描述】:const Discord = require('discord.js');
const bot = new Discord.Client();
let cofig = require('./botconfig.json');
let token = config.token;
let prefix = config.prefix;
bot.on('ready', () =>
console.log(`Запустился бот $bot.user.username`);
);
bot.on('message', msg =>
if (msg.content === 'ping')
msg.reply('Pong!');
);
bot.login(token);`
当我在频道中键入 ping
时,我的机器人应该通过 Pong!
回答。这是一个简单的 ping 测试,用于检查机器人是否还活着并且行为正确。但是,当我尝试使其工作时出现错误。
错误:
SyntaxError: C:\Users\mrakp\OneDrive\Рабочийстол\mamapapads\botconfig.json: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at Object.Module._extensions..json (internal/modules/cjs/loader.js:801:27)
at Module.load (internal/modules/cjs/loader.js:643:32)
at Function.Module._load (internal/modules/cjs/loader.js:556:12)
at Module.require (internal/modules/cjs/loader.js:683:19)
at require (internal/modules/cjs/helpers.js:16:16)
at Object.<anonymous> (C:\Users\mrakp\OneDrive\Рабочий стол\mamapapads\bot.js:3:13)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:643:32)
【问题讨论】:
你能添加你的 JSON 文件吗?特别是botconfig.json
【参考方案1】:
首先,你不能这样做
const cofig = require("./botconfig.json")
然后不要使用声明来获取令牌。 在您的情况下, bot.login(token) 实际上是 bot.login(cofig.token)
但你也可以这样做
const token = require("./botconfig.json")
//Rest of code
bot.login(token)
这将直接获取令牌,而不必使用声明来引用它。
【讨论】:
OP 已经将token
声明为config.token
。解构赋值是一个很好的建议,但不能解决问题。该错误源于解析 JSON 文件(尚未与我们共享),因此任何使用该文件的 require()
语句都会引发相同的错误。以上是关于保存语法和 JSON.parse 代码时出错的主要内容,如果未能解决你的问题,请参考以下文章