index.html
<!DOCTYPE html>
<html ng-app="MainApp">
<head>
<title></title>
<script type="text/javascript" src="./libs/angular/angular. js"></script>
<script type="text/javascript" src="core.js"></script>
</head>
<body ng-controller="ProdServCtrl">
</body>
</html>
server.js
// set up ============================== ============================== ==========
var express = require('express');
var app = express(); // create our app w/ express
var mongoose = require('mongoose'); // mongoose for mongodb
var port = process.env.PORT || 8080; // set the port
var database = require('./config/database'); // load the database config
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)
// configuration ============================== ============================== ===
mongoose.connect(database.url) ; // connect to mongoDB database on modulus.io
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());
// routes ============================== ============================== ==========
require('./app/routes.js')( app);
//api route
app.get('*', function(req, res){
res.sendFile('./public/index. html')
})
// listen (start app with node server.js) ============================== ========
app.listen(port, function(){
console.log("App listening on port " + port);
});
Please help.
The lib directory should inside public directory, and remove the '.' at the beginning.
> Hi i am trying to include angular to my index.html but i get the error: path must be absolute or specify root to res.sendFile.
This is an express-specific question. You may get better advice about express questions on the express-js google group instead of on this general nodejs google group.
> app.get('*', function(req, res){
> res.sendFile('./public/index. html')
> })
This is the res.sendFile it's talking about. As it says in the error message, and in the express documentation...
http://expressjs.com/api.html# res.sendFile
"Unless the root option is set in the options object, path must be an absolute path of the file."
So either make it absolute:
res.sendFile(path.join(__ dirname, 'public', index.html'))
Or use the options object to specify the root:
res.sendFile('index.html', {root: path.join(__dirname, 'public')})
This is an express-specific question. You may get better advice about express questions on the express-js google group instead of on this general nodejs google group.
> app.get('*', function(req, res){
> res.sendFile('./public/index.
> })
This is the res.sendFile it's talking about. As it says in the error message, and in the express documentation...
http://expressjs.com/api.html#
"Unless the root option is set in the options object, path must be an absolute path of the file."
So either make it absolute:
res.sendFile(path.join(__
Or use the options object to specify the root:
res.sendFile('index.html', {root: path.join(__dirname, 'public')})
댓글 없음:
댓글 쓰기