簡體   English   中英

GET error MEAN App

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM