前端之家收集整理的这篇文章主要介绍了
angularjs – GET错误MEAN应用程序,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
301_0@
我一直在学习如何使用MEAN堆栈来构建Web应用程序,到目前为止,这是非常有趣的.而不是使用yeoman generator或npm应用来为我
生成代码,而是从头开始构建我的整个应用程序.这样我就知道每一个连接以及我的应用程序发生了什么.当我看着开发者控制台并看见时,我刚刚开始连接我的应用程序的前端和后端
GET http://blog.dev/bower_components/angular/angular.js
不仅有角度,还有其他资源(Modernizr,角线,mootools,restangular等).当您使用yeoman角度发生器时,您可以运行grunt serve命令来启动角度.因为我从头开始构建应用程序,而且我使用npm作为我的构建工具,我不知道如何构建前端服务器.所以,我刚刚用一个简单的Nginx虚拟主机指向我的index.html.这是配置:
server {
listen 80;
server_name blog.dev;
root /home/michael/Workspace/blog/app;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
我不知道有什么其他变量可能会影响到这种情况,所以如果我错过了一些事情,请告诉我,我会很乐意给你你所需要的!
如果您使用的是平均堆栈,则应该能够托管后端并直接为节点提供前端.
我不确定你的项目结构,但这里是我正在工作的一个结构.
/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的文件
在这个文件中,我定义了一个通向我的角度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 https://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在“公共”目录中的某个地方,您应该能够使用以下命令启动Node.
node bin/www
并且您的浏览器在http://localhost:3000的点和业务.
希望这有助于学习和快乐.