Обслуживание файлов с использованием net / http FileServer приводит к 404

Я вижу две основные вещи, которые необходимо исправить: 1: клиент из commands.js 2: командная функция в основном файле

1 - В commands.js , вы создали новый клиент. Если у вас есть только эта команда, это не вызовет никаких проблем, так как client не используется в вашем коде, но когда вам это понадобится, это не сработает, так как оно должно быть таким же, как в главном файле. У вас есть два возможных решения: установка вашего клиента как глобального или требующий основного модуля. Если ваш бот не должен публиковаться в общедоступном пакете, вы можете сохранить global.client = client;, а затем получить доступ к нему как client в каждом другом файле. Альтернативой является экспорт клиента из основного модуля (module.exports = {client};), а затем требуемый основной файл в commands.js (var {client} = require("./index.js");).

2 - В commands.js вы экспортируете функцию help, поэтому, когда вы вызываете ее index.js , вы должны использовать скобки и передавать сообщение в качестве аргумента. Попробуйте что-то вроде этого:

//in the switch statement
case "help":
  cmds.help(message);
  break;

Надеюсь, это поможет вам, сообщите мне, если у вас возникнут другие вопросы.

0
задан Mad Wombat 18 January 2019 в 18:18
поделиться

1 ответ

решаемые. В шаблоне не было подстановочного знака "/ node_modules / *" работает. Кроме того, по какой-то причине упаковка Handler в HandlerFunc не сработала (вернул 000 статус и никакого содержимого). Таким образом, полученный маршрут выглядит следующим образом

router.Handle(
    "/node_modules/*",
    http.StripPrefix("/node_modules/", http.FileServer(http.Dir("node_modules"))),
)
0
ответ дан Mad Wombat 18 January 2019 в 18:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: