javascript - 如何在 Heroku 上创建 Phaser.js 站点?

标签 javascript html heroku phaser-framework

我正在尝试在 Heroku 上创建一个站点,我只有一个调用 javascript 文件的 HTML 文件 https://github.com/abdalah/ZakInDaBox .不知道是package.json文件的问题还是别的什么原因,但是不管怎么操作,都能成功部署app,只是进入站点的时候出现application error。它还不断添加 Node.js buildpack 而我没有使用 Node,所以我不知道为什么要这样做。这是我的构建日志:

-----> Node.js app detected
-----> Creating runtime environment

       NPM_CONFIG_LOGLEVEL=error
       NPM_CONFIG_PRODUCTION=true
       NODE_VERBOSE=false
       NODE_ENV=production
       NODE_MODULES_CACHE=true
-----> Installing binaries
       engines.node (package.json):  unspecified
       engines.npm (package.json):   unspecified (use default)

       Resolving node version 6.x via semver.io...
       Downloading and installing node 6.11.0...
       Using default npm version: 3.10.10
-----> Restoring cache
       Loading 2 from cacheDirectories (default):
       - node_modules (exists - skipping)
       - bower_components (not cached - skipping)
-----> Building dependencies
       Prebuild detected (node_modules already exists)
       Rebuilding any native modules
       grunt@1.0.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/grunt
        coffee-script@1.10.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/coffee-script
       dateformat@1.0.12 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/dateformat
       get-stdin@4.0.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/get-stdin
       meow@3.7.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/meow
       camelcase-keys@2.1.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/camelcase-keys
       camelcase@2.1.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/camelcase
       map-obj@1.0.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/map-obj
       decamelize@1.2.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/decamelize
       loud-rejection@1.6.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/loud-rejection
       currently-unhandled@0.4.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/currently-unhandled
       array-find-index@1.0.2 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/array-find-index
       signal-exit@3.0.2 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/signal-exit
       minimist@1.2.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/minimist
       normalize-package-data@2.3.8 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/normalize-package-data
       hosted-git-info@2.4.2 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/hosted-git-info
       is-builtin-module@1.0.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/is-builtin-module
       builtin-modules@1.1.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/builtin-modules
       semver@5.3.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/semver
       validate-npm-package-license@3.0.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/validate-npm-package-license
       spdx-correct@1.0.2 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/spdx-correct
       spdx-license-ids@1.2.2 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/spdx-license-ids
       spdx-expression-parse@1.0.4 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/spdx-expression-parse
       object-assign@4.1.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/object-assign
       read-pkg-up@1.0.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/read-pkg-up
       find-up@1.1.2 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/find-up
       path-exists@2.1.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/path-exists
       pinkie-promise@2.0.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/pinkie-promise
       pinkie@2.0.4 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/pinkie
       read-pkg@1.1.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/read-pkg
       load-json-file@1.1.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/load-json-file
       graceful-fs@4.1.11 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/graceful-fs
       parse-json@2.2.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/parse-json
       error-ex@1.3.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/error-ex
       is-arrayish@0.2.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/is-arrayish
       pify@2.3.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/pify
       strip-bom@2.0.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/strip-bom
       is-utf8@0.2.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/is-utf8
       path-type@1.1.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/path-type
       redent@1.0.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/redent
       indent-string@2.1.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/indent-string
       repeating@2.0.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/repeating
       is-finite@1.0.2 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/is-finite
       number-is-nan@1.0.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/number-is-nan
       strip-indent@1.0.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/strip-indent
       trim-newlines@1.0.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/trim-newlines
       eventemitter2@0.4.14 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/eventemitter2
       exit@0.1.2 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/exit
       findup-sync@0.3.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/findup-sync
       glob@5.0.15 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/findup-sync/node_modules/glob
       inflight@1.0.6 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/inflight
       once@1.4.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/once
       wrappy@1.0.2 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/wrappy
       inherits@2.0.3 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/inherits
       minimatch@3.0.4 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/minimatch
       brace-expansion@1.1.7 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/brace-expansion
       balanced-match@0.4.2 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/balanced-match
       concat-map@0.0.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/concat-map
       path-is-absolute@1.0.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/path-is-absolute
       glob@7.0.6 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/glob
       fs.realpath@1.0.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/fs.realpath
       grunt-cli@1.2.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/grunt/node_modules/grunt-cli
       grunt-known-options@1.1.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/grunt-known-options
       nopt@3.0.6 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/nopt
       abbrev@1.1.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/abbrev
       resolve@1.1.7 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/resolve
       grunt-legacy-log@1.0.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/grunt-legacy-log
       colors@1.1.2 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/colors
       grunt-legacy-log-utils@1.0.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/grunt-legacy-log-utils
       chalk@1.1.3 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/chalk
       ansi-styles@2.2.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/ansi-styles
       escape-string-regexp@1.0.5 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/escape-string-regexp
       has-ansi@2.0.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/has-ansi
       ansi-regex@2.1.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/ansi-regex
       strip-ansi@3.0.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/strip-ansi
       supports-color@2.0.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/supports-color
       lodash@4.3.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/grunt-legacy-log-utils/node_modules/lodash
       hooker@0.2.3 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/hooker
       lodash@3.10.1 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/lodash
       underscore.string@3.2.3 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/underscore.string
       grunt-legacy-util@1.0.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/grunt-legacy-util
       async@1.5.2 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/async
       getobject@0.1.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/getobject
       lodash@4.3.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/grunt-legacy-util/node_modules/lodash
       which@1.2.14 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/which
       isexe@2.0.0 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/isexe
       iconv-lite@0.4.17 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/iconv-lite
       js-yaml@3.5.5 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/js-yaml
       argparse@1.0.9 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/argparse
       sprintf-js@1.0.3 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/sprintf-js
       esprima@2.7.3 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/esprima
       rimraf@2.2.8 /tmp/build_54c264fe0a55ed946f577fa695b12b68/abdalah-ZakInDaBox-61d5e6e/node_modules/rimraf
       Installing any new modules (package.json)
-----> Caching build
       Clearing previous node cache
       Saving 2 cacheDirectories (default):
       - node_modules
       - bower_components (nothing to cache)
-----> Build succeeded!
 !     This app may not specify any way to start a node process
       https://devcenter.heroku.com/articles/nodejs-support#default-web-process-type
-----> Discovering process types
       Procfile declares types     -> (none)
       Default types for buildpack -> web
-----> Compressing...
       Done: 21.6M
-----> Launching...
       Released v25
       https://zakindabox.herokuapp.com/ deployed to Heroku

编辑:我已将我的应用程序更改为 Node.js 应用程序,因为 Heroku 要求应用程序具有构建包并且不能处理简单的 HTML 页面。

最佳答案

如果 heroku 识别出 package.json,那么它会将其视为 node.js 应用程序。 Heroku 然后会寻找合适的包来帮助您的应用程序提供 html 文件。像 express、hapi 这样的包用于在 node.js 中创建高级到基本的文件服务。您必须安装它才能使您的应用程序提供该文件。

此处提供了有关 node.js 应用程序的简单说明 https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction

我认为您不能简单地在 heroku 中托管 html 文件。您的应用程序必须遵循一些堆栈,这是 heroku 中的一个限制。

但是您可以从列表中选择您想要的堆栈。 https://devcenter.heroku.com/start

如果它只是一个静态站点,那为什么不使用 github pages,这只是我个人的看法。

关于javascript - 如何在 Heroku 上创建 Phaser.js 站点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44509796/

相关文章:

javascript - HTML 换行方法

html - 单个 h2 标签上的背景颜色

ruby-on-rails - 使用 Heroku 上的 CarrierWave 将上传的文件提取到 S3

ruby-on-rails - Rails 4 Mailer、Amazon S3 和内联图像

java - SpringBoot Heroku org.maven.plugins :maven-compiler-plugin:3. 8.1:编译失败

javascript - 如何消除作为字体的阻塞 CSS?

javascript - 禁用 HighCharts 标签

javascript - Node.js Q promise forEach 返回未定义

html - 减少两个文本部分之间的垂直间距

android - 移动设备上的 iframe 支持