Node と Express を使用してアプリを作成しています。しかし、内部に配置されたすべてのルートを管理することは、すぐに困難になることがわかりますapp.js
。すべてのモデルをサブディレクトリに配置しました/models
。
これが私のアプリの現在の構造です:
app.js
models
-- products
-- customers
-- ...
public
views
node_modules
でapp.js
:
var express = require('express'),
routes = require('./routes'),
user = require('./routes/user'),
http = require('http'),
path = require('path'),
EmployeeProvider = require('./models/employeeprovider').EmployeeProvider,
Products = require('./models/products').Products,
Orders = require('./models/orders').Orders,
Customers = require('./models/customers').Customers,
checkAuth = function(req, res, next) {
if (!req.session.user_id) {
res.send('You are not authorized to view this page');
} else {
next();
}
};
var app = express();
次にport
、views
ディレクトリ、レンダリング エンジンなどの設定を行います。
さらに下app.js
にルートがあります:
app.get('/product/edit', auth, function(req, res) {
Products.findAll(function(error, prds) {
res.render('product_edit', {
title: 'New Product',
products: prds
});
});
});
一番上で、の内容をmodels/products.js
変数に代入していますが、すべて正常に動作します。ただし、すべてのルートを内部に保持することapp.js
は理想的ではありません。しかし、ルートを移動してモデルroutes/product.js
をロードすると:Products
var prod = require('../models/products.js');
object has no method というエラーが表示されますfindAll
。
私は何を間違っていますか?からルートを削除するにはどうすればよいapp.js
ですか?