【问题标题】:NodeJS cannot find moduleNodeJS 找不到模块
【发布时间】:2017-12-16 02:17:19
【问题描述】:

我有存储 user.js 文件的实体目录,如下所示:

"use strict";

class User {}

module.exports = User;

在我的 index.js 中:

var User = require("./entities/User")

但我遇到了一个错误

错误:找不到模块“./entities/User”
在 Function.Module._resolveFilename (module.js:470:15)
在 Function.Module._load (module.js:418:25)
在 Module.require (module.js:498:17)
在需要(内部/module.js:20:19)
在 Socket.socket.on (/home/etours/capstone-etours/index.js:154:21)
在 emitTwo (events.js:106:13)
在 Socket.emit (events.js:194:7)
在 /home/etours/capstone-etours/node_modules/socket.io/lib/socket.js:503:12
在 _combinedTickCallback (internal/process/next_tick.js:73:7)
在 process._tickCallback (internal/process/next_tick.js:104:9)

【问题讨论】:

  • 尝试用User = require("./entities/user")替换User = require("./entities/User"),因为它基于文件名
  • 检查您的文件名。 require 语句正在文件中查找导出。

标签: javascript node.js module


【解决方案1】:

require 函数区分大小写,因此您必须完全按照您创建的方式编写路径。

如果你使用 U 小写字母,它会起作用 :D

【讨论】:

    【解决方案2】:

    你应该试试这个代码:

    user.js

    var User = function() {};
    module.exports = User;
    
    var User = class User {   
    };
    
    module.exports.User = User;
    

    index.js

    var User = require("./user");
    console.log(User);
    

    【讨论】:

      【解决方案3】:

      你也可以试试下面的代码:

      user.js:

      var User={};
      module.exports = User;
      
      var User = class User {    
      };
      
      module.exports.User = User;
      

      index.js:

      var User = require("./user");
      console.log(User);
      

      【讨论】:

        猜你喜欢
        • 2014-01-29
        • 1970-01-01
        • 2016-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-22
        • 2013-12-25
        • 2016-08-04
        相关资源
        最近更新 更多