【问题标题】:how to deploy yeoman angular-fullstack project?如何部署 yeoman angular-fullstack 项目?
【发布时间】:2015-04-29 09:09:07
【问题描述】:
【问题讨论】:
标签:
angularjs
node.js
nginx
yeoman
yo
【解决方案1】:
安装generator-angular-fullstack:
npm install -g generator-angular-fullstack
创建一个新目录,并将cd 放入其中:
mkdir my-new-project && cd $_
运行yo angular-fullstack,可选择传递应用名称:
yo angular-fullstack [app-name]
运行grunt 用于构建,gruntserve for preview, andgrunt serve:dist` 用于预览构建的应用程序
【解决方案2】:
1.) 安装 nginx
2.) 代理转发 nginx 到您的节点端口。见Digital Oceans How-To。
nginx.conf
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://localhost:9000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
3.) Start app.js 使用 dist 文件夹中的 node 并使用正确的变量:
$ export NODE_ENV=production; export PORT=9000; node dist/server/app.js
4.) 浏览到第 2 步中在 nginx 中配置的主机名。
如果您遇到许多 404,您很可能在 HTML5 模式下使用 angular.js,并且需要重新连接您的路由以提供静态 angular.js内容。我在我的博客文章“Continous Integration with Angular Fullstack”中描述了这一点以及如何解决您可能面临的许多其他错误。
【解决方案4】:
此外,如果您在主机上运行 mongo db,则需要更改 /server/config/environment/production.js uri 以匹配 development.js,它应该可以工作。
使用 MongoLab,您可以实现以下效果:
mongodb://user:pass@XXXXX.mongolab.com:XXXXX/yourdatabase
然后在您的应用目录中运行 grunt serve:dist 命令。
这对我有用。