在Heroku上部署FeathersJS App

时间:2017-11-13 17:33:09

标签: node.js express docker heroku feathersjs

我正在尝试在heroku上部署我的feathersjs网络应用程序,因为羽毛只是一个快速包装器,我认为它就像部署一个普通的节点应用程序。我在我的package.json上获得了“npm start”脚本,我将heroku远程添加到我的git repo中,当我推动heroku运行“yarn install”和“npm start”脚本时。但是,当应用程序启动时,会发生错误: heroku logs

我无法弄清楚发生了什么,有什么建议吗? 也许我可以将我的应用程序停靠,有人可以帮我找到合适的实现吗?

谢谢大家

3 个答案:

答案 0 :(得分:0)

它与Express相同,但生成的应用程序默认使用feathers-configuration来提取您的应用程序设置。从错误消息看,您似乎没有提供正确的NODE_ENV环境变量,在部署到Heroku时必须将其设置为production

答案 1 :(得分:0)

尝试设置" NODE_CONFIG_DIR"到" app / config /"

答案 2 :(得分:0)

通过 Sequelize 将feathers-chat 应用程序的工作端口移植到Heroku PostgreSQL

我现在有一个在 Heroku 上运行的 hello world https://github.com/feathersjs/feathers-chat 端口!

关键来源变更

>>= 设置为 'postgres' 环境变量 DATABASE_URL

config/production.json

Heroku 还导出 + "postgres": "DATABASE_URL" ,它在我的补丁之前也已经存在于该文件中。

PORT 传递给数据库连接:Can't connect to heroku postgresql database from local node app with sequelize

dialiectOptions

关键 Heroku 设置

  • 通过以下方式启用 PostgreSQL Heroku 插件:

    +  const sequelize = new Sequelize(connectionString, {
    +    dialect: 'postgres',
    +    logging: false,
    +    define: {
    +      freezeTableName: true
    +    },
    +    dialectOptions: {
    +      // https://stackoverflow.com/questions/27687546/cant-connect-to-heroku-postgresql-database-from-local-node-app-with-sequelize
    +      // https://devcenter.heroku.com/articles/heroku-postgresql#connecting-in-node-js
    +      // https://stackoverflow.com/questions/58965011/sequelizeconnectionerror-self-signed-certificate
    +      ssl: {
    +        require: true,
    +        rejectUnauthorized: false
    +      }
    +    }
    +  });
    

    这会自动为我们设置 heroku addons:create heroku-postgresql:hobby-dev- 环境变量。

  • 在 config/production.json 中将 DATABASE_URL 编辑为正确的值

  • 在 Heroku 应用设置中,将 host 环境变量设置为 NODE_ENV

参考书目: