【问题标题】:Error "Cannot find module 'errors.server.controller.js'" while trying to extend default backend尝试扩展默认后端时出现错误“找不到模块 'errors.server.controller.js'”
【发布时间】:2015-09-17 23:32:50
【问题描述】:

我想向我的后端添加新代码,这会将一些数据放入 MongoDB 集合中。我决定在core.server.controller.js 中进行,因为我的应用程序将非常简单,我不需要为此创建新模块。于是我打开/app/controllers/users/users.profile.server.controller.js,一个mean.js内置的控制器,复制过来

var _ = require('lodash'),
errorHandler = require('../errors.server.controller.js'),
mongoose = require('mongoose'),
passport = require('passport'),
User = mongoose.model('User');

core.server.controller.js 文件以提供猫鼬和其他东西。然后我从 errorHandler require 参数中删除了 ../ 并将猫鼬模型名称更改为我自己的模型名称,这是我之前创建的。

但是当我想在控制台中启动这个应用程序时,我得到一个错误:

Error: Cannot find module 'errors.server.controller.js'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/Users/developer2/baca/app/controllers/core.server.controller.js:7:17)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at module.exports (/Users/developer2/baca/app/routes/core.server.routes.js:5:13)
at /Users/developer2/baca/config/express.js:118:35
at Array.forEach (native)
at module.exports (/Users/developer2/baca/config/express.js:117:49)
at Object.<anonymous> (/Users/developer2/baca/server.js:24:38)

那么我该如何解决这个问题?

【问题讨论】:

    标签: mean-stack meanjs


    【解决方案1】:

    您需要errors.server.controller.js,但路径错误。

    您可以使用相对于您的应用根目录的文件路径,也可以使用您需要的文件 (core.server.controller.js):

    解决方案 1:相对于应用根目录的路径(为了保持一致性,优先考虑,因为 MEAN.js 在其他 js 文件中使用 path 表示需要):

    您可以像这样使用 node path 模块来帮助您:

    var path = require('path),
        errorHandler = require(path.resolve('./modules/core/server/controllers/errors.server.controller.js'));
    

    请注意,文件路径是相对于您应用的根目录的,path 模块会为您处理。

    解决方案 2:相对于当前文件的路径:

    因为它们都在同一个目录中:

    var errorHandler = require('./errors.server.controller.js');
    

    【讨论】:

      猜你喜欢
      • 2017-04-06
      • 2015-08-29
      • 1970-01-01
      • 1970-01-01
      • 2013-09-12
      • 1970-01-01
      • 1970-01-01
      • 2022-07-11
      • 2017-12-22
      相关资源
      最近更新 更多