angularjs - Heroku 和 Angular 路由

标签 angularjs node.js heroku

我正在开发一个使用 Yoeman Angular 包构建的 Angular 前端站点。该项目使用 Node.js 构建包托管在 Heroku 中。

Heroku 构建项目没有错误,它运行 Gulp 和 Bower 来安装依赖项。在执行启动脚本并编译项目后,索引页面加载没有问题,但任何不是主页的其他页面(例如登录页面)将陷入“无法获取/登录”消息。

这似乎是一个常见问题,因为我已经阅读了很多关于如何在 Heroku 上解决 Angular 路由的帖子。这些是我目前采取的所有行动,但都没有成功:

  1. 在 Express 中创建一个 Node.js 网络服务器(我已经尝试了这个脚本的多种风格)

    var gzippo = require('gzippo'); var express = require(' express '); var morgan = require(' morgan '); var app = express();

    app.use( morgan ('dev')); app.use(gzippo.staticGzip(""+ __dirname + "/dist")); app.use('/bower_components', express.static(__dirname + '/bower_components')); app.listen(process.env.PORT || 5000);

  2. 在 .gitignore 中注释 dist 文件夹以便 Heroku 使用它。 dist 文件夹被推送到 Git 中。

  3. 创建环境变量 NODE_ENV: true, NODE_PATH: true, NPM_CONFIG_PRODUCTION: false

当在 Apache 服务器上独立运行 dist 文件或使用上面的 Node.js 脚本时,站点在本地运行完美。

如果有任何意见可以帮助我解决 Heroku 和 Angular 上的这个问题,我将不胜感激。提前致谢。

最佳答案

我猜经过这么长时间你已经能够解决这个问题(或者你转向其他事情)。

无论如何,对于遇到类似问题的任何人,我都使用 Angular2 + Express 应用程序创建了一个公共(public)存储库,该应用程序已配置为在 Heroku 上部署。

https://github.com/pabloruiz55/Angular-Express-Heroku

我无法完全回答这个问题,因为我缺少诸如您遇到的错误之类的信息,但希望看看我的入门项目,任何人都可以弄明白。

关于angularjs - Heroku 和 Angular 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40715148/

相关文章:

node.js - 为 Gsuite SSO 生成带有 express 和 passport-saml 的 ACS url

deployment - Heroku 部署流程到底是如何运作的?

ruby-on-rails - heroku 未定义方法为空?将我的应用程序升级到 ruby​​ 2.0 时

node.js - 无法从运行本地主机的 nodejs 应用程序连接到 mongodb(mongolab)

javascript - AngularJS 在 Controller 中注入(inject)模块

javascript - Angular : "tab" keycode event not firing

angular - 显示数据库获取的值(如果存在)否则在 ng-select angular 中显示默认文本

javascript - AngularJS 轮询器抛出

javascript - 错误: Connection terminated - ASYNC nodeJS

node.js - 从通过 php gear 托管的客户端连接到 socket.io? - 开档