[英]GET error MEAN App
我一直在學習如何使用MEAN堆棧來構建Web應用程序,到目前為止,它一直很有趣。 我沒有使用yeoman生成器或npm應用來為我生成代碼,而是從頭開始構建整個應用。 這樣,我就知道每個部分如何連接以及我的應用程序正在發生什么。 當我看着開發人員控制台並看到時,我才剛剛開始連接應用程序的前端和后端
GET http://blog.dev/bower_components/angular/angular.js
我不僅有角度,而且還有其他所有資源(Modernizr,角度路線,mootools,restangular等)。 當您使用yeoman角度生成器時,假設您運行grunt serve
命令來啟動角度側。 因為我是從頭開始構建應用程序的,並且我將npm用於構建工具,所以我不知道如何構建前端服務器。 因此,我只是使用了一個指向我的index.html的簡單nginx虛擬主機。 這是配置:
server {
listen 80;
server_name blog.dev;
root /home/michael/Workspace/blog/app;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
我不確定還有哪些其他變量會影響這種情況,所以如果我錯過了一些事情,請告訴我,我們將很樂意為您提供所需的信息!
如果您使用均值棧,則應該能夠同時托管后端和直接通過node服務前端。
我不確定您的項目結構,但這是我現在正在研究的結構。
/bin --contains a file called www.js (used to launch app)
/data
/models
/node_modules
/public -- contains my angular implementation
/routes -- contains express routes
/temp
/upload
/views
app.js -- main configuration for express
api.js -- my apis
package.json
在/bin/www.js文件中,您具有啟動節點服務器的代碼。
var app = require('../app');
app.set('port', process.env.PORT || 3000);
var server = app.listen(app.get('port'), function() {
debug('Express server listening on port ' + server.address().port);
});
您還需要設置快速路線和路線,因此首先要在路線目錄中查看路線,我有一個名為index.js的文件
在此文件中,我定義了一條通往我的angular index.html頁面的路線。
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res) {
res.redirect('/pages/index.html');
});
module.exports = router;
當然,您需要設置快遞。
process.env.TMPDIR = 'tmp'; // to avoid the EXDEV rename error, see http://stackoverflow.com/q/21071303/76173
var express = require('express');
var path = require('path');
var favicon = require('static-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var multer = require('multer');
var flow = require('./flow-node.js')('tmp');
var multipart = require('connect-multiparty');
var multipartMiddleware = multipart();
var uuid = require('uuid');
var mongoose = require('mongoose');
var session = require('express-session');
var routes = require('./routes/index');
var app = express();
app.use(favicon());
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser());
app.use(session({genid: function(req) { return uuid.v4()}, secret: 'XXXXXXXXXXX',
saveUninitialized: true,
resave: true}));
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/users', users);
module.exports = app;
現在假設您已將Angular文件和javascript保存在“ public”目錄中的某個位置,則應該可以使用以下命令啟動Node。
node bin/www
然后將瀏覽器指向http:// localhost:3000並開始營業。
希望這對您有所幫助,並祝您學習愉快。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.