我也是Node.js和Express的新手。我想创建一个基本的AngularJS应用程序,但我不知道从哪里开始。这是我想要实现的文件组织:
- public
----- app
---------- components
----------------- component0
----------------------- c0controller.js
----------------------- c0.html
----------------------- c0Service.js
----------------- component1
----------------------- c1controller.js
----------------------- c1.html
----------------------- c1Service.js
---------- assets [...]
----- index.html
----- app.js
----- module.js
- node_modules [...]
- server.js
- route.js
首先,是否可以这样做?
基本上,index.html
文件是我定义角度应用程序ui-view
的地方。
我的主要问题是我无法找到如何在server.js
中设置我的节点服务器......这就是我所拥有的,但说实话,我并不了解每一行。 ..
// set up ========================
var express = require('express');
var app = express(); // create our app w/ express
var mongoose = require('mongoose'); // mongoose for mongodb
var morgan = require('morgan'); // log requests to the console (express4)
var bodyParser = require('body-parser'); // pull information from HTML POST (express4)
var methodOverride = require('method-override'); // simulate DELETE and PUT (express4)
var routes = require('./routes.js');
// configuration =================
mongoose.connect('mongodb://localhost/test'); // connect to mongoDB database
app.set('views', __dirname + '/public/app');
app.set('view engine', 'html');
app.use(express.static(__dirname + '/public')); // set the static files location /public/img will be /img for users
app.use(morgan('dev')); // log every request to the console
app.use(bodyParser.urlencoded({'extended':'true'})); // parse application/x-www-form-urlencoded
app.use(bodyParser.json()); // parse application/json
app.use(bodyParser.json({ type: 'application/vnd.api+json' })); // parse application/vnd.api+json as json
app.use(methodOverride());
app.get('/', routes.index);
app.get('*', routes.index);
// listen (start app with node server.js) ======================================
app.listen(8080);
console.log("App listening on port 8080");
在routes.js
中,我导出以下方法:
var exports = module.exports = {};
exports.index = function(req, res){
res.render('index');
};
我已安装ejs
,但我不知道该如何处理......我有点迷失,所以任何帮助都会受到赞赏;)
答案 0 :(得分:0)
只是给你一个简短的解释每一行......
以下是您需要在项目中使用的库...
// set up ========================
var express = require('express');
var app = express(); // create our app w/ express
var mongoose = require('mongoose'); // mongoose for mongodb
var morgan = require('morgan'); // log requests to the console (express4)
var bodyParser = require('body-parser'); // pull information from HTML POST (express4)
var methodOverride = require('method-override'); // simulate DELETE and PUT (express4)
routes变量设置为应用的routes.js文件中的导入/必需对象。可能会有一个modules.export对象在routes.js文件中分配了一个routes对象,该对象将被导出到应用程序的其他部分。
var routes = require('./routes.js');
这是您连接到数据库的位置。您正在使用mongoose库来帮助您为模型创建模式。 mongoose的connect方法中的字符串是数据库的位置(' test')。在尝试提供应用程序之前,您需要确保运行mongodb。
// configuration =================
mongoose.connect('mongodb://localhost/test'); // connect to mongoDB database
您可以在此处将应用程序的视图设置为公共目录中的app目录。在应用程序内部,您将能够创建您的html文件。
app.set('views', __dirname + '/public/app');
在这里,您要说明您的视图引擎将是纯HTML。
app.set('view engine', 'html');
您告诉所有静态文件,例如图像将位于/ public目录中。
app.use(express.static(__dirname + '/public'));
//set the
static files location /public/img will be /img for users
以下是帮助您进行应用程序开发所需的中间件。 Morgans很明显,因为它有一个注释,bodyParser对解析你的响应主体和请求http对象至关重要......
app.use(morgan('dev')); // log every request to the console
app.use(bodyParser.urlencoded({'extended':'true'})); // parse application/x-www-form-urlencoded
app.use(bodyParser.json()); // parse application/json
app.use(bodyParser.json({ type: 'application/vnd.api+json' })); // parse application/vnd.api+json as json
app.use(methodOverride());
这是你的路线。基本上当你点击路线' /'时,路线内的任何内容都会被执行......
app.get('/', routes.index);
app.get('*', routes.index);
在下面,您将端口8080指定为应用程序将侦听传入请求的端口。
// listen (start app with node server.js) ======================================
app.listen(8080);
console.log("App listening on port 8080");