Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 如何将reveal.js应用程序部署到heroku?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将一个reveal.js应用程序部署到Heroku. Reveal.js通过grunt connect命令在节点上运行.该应用程序还需要 ruby来动态编译资产.在本地,我可以使用grunt服务运行应用程序.

最初,由于指南针是grunt手表的依赖,Heroku只检测到Gemfile并假设我正在运行一个ruby应用程序.我使用nodejs自定义buildpack强制Heroku将其视为nodejs应用程序.

procfile包含

web: grunt serve

日志显示

2013-06-17T13:51:56.187012+00:00 heroku[router]: at=error code=H14 desc="No web processes running"

heroku ps也没有显示任何内容.我可以成功运行“heroku run grunt serve”,并且我已经修改了随透明附带的认Gruntfile.js以接受process.env,即

connect: {
  server: {
    options: {
      port: process.env.PORT || 8000,base: '.'
    } 
  }
}

作为最后一次尝试,我尝试使用Heroku-nodejs-grunt构建包(https://github.com/mbuchetics/heroku-buildpack-nodejs-grunt),它将在部署上运行grunt任务来编译资产.仍然没有运气,heroku日志–tail仍然显示没有进程正在运行.使用heroku运行探索显示grunt可用,并且grunt serve命令成功执行.

当开始使用新的grunt构建包时,我得到了一个错误,上面的Gruntfile.js说“进程”是未定义的.我将端口切换为0.

没有工作,试过“?”,没有工作(仍然没有web进程和heroku重启没有做任何事情)

我无法弄清楚如何让Heroku使用grunt serve作为我的主要Web服务器进程!

解决方法

我能够使用nodejs和expressjs使它工作.

通过跟随heroku“开始使用nodejs”,我能够通过expressjs获得一个有效的webapp并在web.js中声明:

var express = require("express");
var app = express();
app.use(express.logger());
app.use("/",express.static(__dirname));

var port = process.env.PORT || 5000;
app.listen(port,function() {
  console.log("Listening on " + port);
});

有了这个,你可以从/静态地提供一切.

你有这里的消息来源:https://github.com/MichaelBitard/revealjs_heroku一个工作的例子:@L_502_3@

大佬总结

以上是大佬教程为你收集整理的node.js – 如何将reveal.js应用程序部署到heroku?全部内容,希望文章能够帮你解决node.js – 如何将reveal.js应用程序部署到heroku?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: