Не удается найти требуемый путь к пользовательскому модулю - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь создать чат-бота для решения VoIP с использованием NodeJS, недавно я провела рефакторинг всех обработчиков разговоров в их отдельных сценариях для удобства чтения в точке входа.

Эти обработчики бесед структурированы следующим образом:

// foobar.js
const Help = require('.../utils/Help.js');
const Utils = require('.../utils/Utils.js');
const UserList = require('.../database/Users.json');

module.exports = {
    conversation: (message) => {
        // Code here
    }
    // other cool methods
}

Вот так выглядит моя архитектура папок: (важные файлы * помечены *)

/chatbot
  /src
    /bin
      /conversation
          *foobar.js*
          foobarbar.js
          etc.js
    /database
      *Users.json*
    /utils
      *Help.js*
      *Utils.js*
    /node_modules

Мне кажется, что я нацеливаюсь на файлы, которые мне требуются правильно, однаково время выполнения меня встречает великолепная ошибка

internal/modules/cjs/loader.js:605
throw err;
^

Error: Cannot find module '.../utils/Help.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:603:15)
    at Function.Module._load (internal/modules/cjs/loader.js:529:25)
    at Module.require (internal/modules/cjs/loader.js:658:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (D:\Library\Documents\AIScroll\src\bin\conversation\foobar.js:1:76)
    at Module._compile (internal/modules/cjs/loader.js:722:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:733:10)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
    at Function.Module._load (internal/modules/cjs/loader.js:552:3)

Независимо от того, сколько точек я положил в .../utils/Help.js, у меня всегда одна и та же ошибка.Есть ли только один или пятнадцать.Бьюсь об заклад, это тоже очень глупая ошибка.Ура впереди времени 101

Ответы [ 3 ]

0 голосов
/ 27 ноября 2018

Полагаю, вам нужно пройти до 2 уровней:

const Help = require('../../utils/Help.js');
const Utils = require('../../utils/Utils.js');
const UserList = require('../../database/Users.json');
0 голосов
/ 27 ноября 2018

./ = текущая папка
../ = одна папка вверх
../../ = две папки вверх и так далее ...

Таким образом, ваш код должен выглядеть следующим образом:

const Help = require('../../utils/Help.js');
const Utils = require('../../utils/Utils.js');
const UserList = require('../../database/Users.json');

Несколько точек не сработают.Это всегда либо ./, либо ../.
Однако вы можете написать ../ несколько раз.

0 голосов
/ 27 ноября 2018

Это должно быть ../../utils/Help.js и т. Д.

Папка utils на 2 каталога больше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...