node.js - node.js 文件告诉我导出未定义
问题描述
我已经尝试制作一个 Discord 基本机器人,并且我已经完成了创建机器人并将其导入 Discord 的所有工作,现在可以在 Discord 上看到我的机器人离线。但是,当我尝试使机器人联机时,我收到错误导出未定义。
我查看了代码以尝试找出导致错误的原因,并且查看了与导出问题相关的其他人的问题,但我不确定如何继续前进。
该错误是指 node.js 的第 34 行,即
var create = exports.create = function (node, template, isNotTop) {
这是完整的脚本:
'use strict'
var defaultTemplate = {
package: {
version: '',
dependencies: {},
devDependencies: {},
optionalDependencies: {}
},
loaded: false,
children: [],
requiredBy: [],
requires: [],
missingDeps: {},
missingDevDeps: {},
phantomChildren: {},
path: null,
realpath: null,
location: null,
userRequired: false,
save: false,
saveSpec: null,
isTop: false,
fromBundle: false
}
function isLink (node) {
return node && node.isLink
}
function isInLink (node) {
return node && (node.isInLink || node.isLink)
}
var create = exports.create = function (node, template, isNotTop) {
if (!template) template = defaultTemplate
Object.keys(template).forEach(function (key) {
if (template[key] != null && typeof template[key] === 'object' && !(template[key] instanceof Array)) {
if (!node[key]) node[key] = {}
return create(node[key], template[key], true)
}
if (node[key] != null) return
node[key] = template[key]
})
if (!isNotTop) {
// isLink is true for the symlink and everything inside it.
// by contrast, isInLink is true for only the things inside a link
if (node.isLink == null) node.isLink = isLink(node.parent)
if (node.isInLink == null) node.isInLink = isInLink(node.parent)
if (node.fromBundle == null) {
node.fromBundle = false
}
}
return node
}
exports.reset = function (node) {
reset(node, new Set())
}
function reset (node, seen) {
if (seen.has(node)) return
seen.add(node)
var child = create(node)
// FIXME: cleaning up after read-package-json's mess =(
if (child.package._id === '@') delete child.package._id
child.isTop = false
child.requiredBy = []
child.requires = []
child.missingDeps = {}
child.missingDevDeps = {}
child.phantomChildren = {}
child.location = null
child.children.forEach(function (child) { reset(child, seen) })
}
我的 Discord.js 文件
const Discord = require('discord.js');
const bot - new Discord.Client();
const token = '';
bot.on('ready', () =>{
console.log('This bot is online!');
{)
bot.login(token);
看到机器人上线。
解决方案
写这个
exports.create = function (node, template, isNotTop)
而不是
var create = exports.create = function (node, template, isNotTop)
推荐阅读
- python-3.x - 只有两个值的分类变量
- icalendar - 如何创建允许在创建 Google 日历事件时添加与会者的 ics 文件
- python-3.x - 使用 asyncio.run 时,如何将线程池执行器提交给事件循环?
- kotlin - 为什么要在 Kotlin 中将函数类型实现为接口
- caching - AWS Cloudfront 缓存 MISS 与 AWSALB cookie
- regex - 匹配字符占位符(可以放置输入光标的位置)
- sql - 从多行中获取一行
- elasticsearch - 在 Elasticsearch 上按字母顺序对关键字字段进行排序
- autohotkey - 右键单击缩放
- c# - 如何从另一个场景中的脚本访问保存/加载功能?