我正在尝试在 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/