我的项目如下:
我的问题是即时通过教程http://youtu.be/5e1NEdfs4is。 但我想处理index.js中app.js
中的所有路径在我的index.js中,我执行以下操作:
router.route('/api/bears')
//create a bear (Accessed at POST http://localhost:3000/api/bears)
.post(function(req, res) {
var bear = new Bear(); // create a new instance of the bear model
bear.name = req.body.name; // set the bears name (comes from post request)
//save the bear and check for errors
bear.save(function(err) {
if(err)
res.send(err);
res.json({ message: 'Bear created!' });
});
})
// get all the bears (accessed at GET http://localhost/api/bears)
.get(function(req, res) {
Bear.find(function(err, bears) {
if(err)
res.send(err);
res.json(bears);
});
});
在app.js中加载所有模型:
//load all files in models dir
fs.readdirSync(__dirname + '/app/models').forEach(function(filename) {
if (~filename.indexOf('js')) require(__dirname + '/app/models/' + filename)
});
并且在index.js中我想声明变量:
var Bear = require('./app/models/bear');
但这似乎不起作用。
我收到错误:
如果看起来像这样的熊.js:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var BearSchema = new Schema({
name: String
});
module.exports = mongoose.model('Bear', BearSchema);
如果我正在使用node.js做一些超级错误的事情,那是因为我对它很新,并且从未使用过javascript。
感谢我能得到的所有帮助!
答案 0 :(得分:1)
好的,好像你必须从一个文件夹回来。
事实上,对于nodejs,您必须指定当前目录的路径。
如果你需要在index.js(在路径文件夹中)中需要承担,你必须做类似的事情:
var Bear = require('../yourfolder')
答案 1 :(得分:0)
您可以通过以下方式访问:
var Bear = require('../models/bear');