【发布时间】: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