找不到自定义模块的必需路径

时间:2018-11-27 13:46:32

标签: javascript node.js debugging path

我正在尝试使用NodeJS为VoIP解决方案创建聊天机器人,最近我将所有对话处理程序重构为单独的脚本,以便于在入口点阅读。

这些对话处理程序的结构如下:

// 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中放入多少点,我总是有相同的错误。无论是一个还是十五个。 我敢打赌,这也是一个非常愚蠢的错误。 提前加油♪

3 个答案:

答案 0 :(得分:1)

./ =当前文件夹
../ =上一个文件夹
../../ =两个文件夹,依此类推...

因此您的代码必须如下:

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

多个点不起作用。始终为./../
但是,您可以多次写../

答案 1 :(得分:0)

应为../../utils/Help.js等。

utils文件夹最多2个目录

答案 2 :(得分:0)

我想您必须达到2个级别:

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