【问题标题】:mean stack module not found平均堆栈模块未找到
【发布时间】:2015-11-19 04:57:23
【问题描述】:

我是在 MEAN Stack 中编码的新手,我正在关注 Amos Q. Haviv 的一本名为 Mean Web Development 的参考书,但我在以下代码中遇到了问题;

var express = require('express');
module.exports = function() {
    console.log('inside express.js');
var app = express();
require('../app/routes/index.server.routes.js')(app);
    console.log('requirement routes.js gathered');

    console.log('call app');
return app;
};

下面的代码段出错了:

require('../app/routes/index.server.routes.js')(app);

错误如下:

D:\OpenSource\mean\MEAN App\DemoApps\App-05>node server
read .config/express
inside express.js
inside router.js
module.js:338
    throw err;
          ^
Error: Cannot find module '../controllers/index.server.controller'
    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 module.exports (D:\OpenSource\mean\MEAN App\DemoApps\App-05\app\routes\in
dex.server.routes.js:3:13)
    at module.exports (D:\OpenSource\mean\MEAN App\DemoApps\App-05\config\expres
s.js:5:48)
    at Object.<anonymous> (D:\OpenSource\mean\MEAN App\DemoApps\App-05\server.js
:3:11)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)

D:\OpenSource\mean\MEAN App\DemoApps\App-05>

controller.js 的代码如下

exports.render = function(req, res) {
    console.log('Inside COntroller');
res.send('Hello World');
    console.log('Response written);
};

routes.js 代码如下:

module.exports = function(app) {
    console.log('inside router.js');
var index = require('../controllers/index.server.controller');
    console.log('controller.js');
    
app.get('/', index.render);
};

express.js 的代码如下

var express = require('express');
module.exports = function() {
    console.log('inside express.js');
var app = express();
require('../app/routes/index.server.routes.js')(app);
    console.log('requirement routes.js gathered');

    console.log('call app');
return app;
};

而server.js的代码如下

var express = require('./config/express');
console.log('read .config/express');
var app = express();
console.log('express()');
app.listen(3000);
console.log('listen 3000');
module.exports = app;
console.log('Server running at http://localhost:3000/');

而package.json如下

{
"name" : "MEAN",
"version" : "0.0.3",
"dependencies" : {
"express" : "~4.8.8"
}
}

我想知道出现该错误的原因,我尝试自己找出原因,但我找不到原因,因为我不熟悉平均堆栈开发和表达服务器编码。请帮我解决这个问题,在之前提出的问题中没有匹配到这个问题。在编码中,我使用了水平结构。 文件夹结构如下......

---app</br>
------models</br>
------views</br>
------controllers</br>
------routes</br>
---config</br>
-----env</br>
-----express.js</br>
---node_modules(generated by npm)</br>
---public</br>
---package.json</br>
---server.js</br>

【问题讨论】:

  • 如果提问的方式有问题请告诉我。我对这件事很陌生:)
  • 这可能是因为您提供了错误的路径。你的目录结构是什么样的?
  • 我添加了问题的路径

标签: node.js express mean-stack


【解决方案1】:

按照您提到的书中的说明,我遇到了完全相同的错误。对我来说,问题在于控制器文件名中的空格字符:

index.server.controller.js

当我从书中复制粘贴文件名以创建该文件时,出现了这个空间。文件名在书中的两行,这导致了那个空间。 如果这与您相关,只需将文件重命名为:

index.server.controller.js

【讨论】:

    猜你喜欢
    • 2016-08-29
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2022-01-10
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多