2017-09-07 107 views
0

我想主办的Heroku的反应程序...问题作出反应应用在Heroku

我已经用CREATE-反应-app..And按照下面的方法在托管创建的应用程序...

 git init 
     heroku create $APP_NAME --buildpack https://github.com/mars/create-react-app-buildpack.git 
     git add . 
     git commit -m "Start with create-react-app" 
     git push heroku master 
     heroku open 

但是,当我试图把应用的Heroku它返回以下错误...

 remote: - htmlparser.js:235 new HTMLParser 
     remote:  [build_4acd980d8a80e0486da141a82d0b3cee]/[html-minifier]/src/htmlparser.js:2 35:13 
     remote: 
     remote: - htmlminifier.js:946 minify 
     remote:  [build_4acd980d8a80e0486da141a82d0b3cee]/[html-minifier]/src/htmlminifier.js :946:3 
     remote: 
     remote: - htmlminifier.js:1299 exports.minify 
     remote:  [build_4acd980d8a80e0486da141a82d0b3cee]/[html-minifier]/src/htmlminifier.js :1299:10 
     remote: 
     remote: - index.js:296 
     remote:  [build_4acd980d8a80e0486da141a82d0b3cee]/[html-webpack-plugin]/index.js:296: 16 
     remote: 
     remote: - util.js:16 tryCatcher 
     remote:  [build_4acd980d8a80e0486da141a82d0b3cee]/[bluebird]/js/release/util.js:16:23 
     remote: - promise.js:512 Promise._settlePromiseFromHandler 
     remote:  [build_4acd980d8a80e0486da141a82d0b3cee]/[bluebird]/js/release/promise.js:51 2:31 
     remote: 
     remote: - promise.js:569 Promise._settlePromise 
     remote:  [build_4acd980d8a80e0486da141a82d0b3cee]/[bluebird]/js/release/promise.js:56 9:18 
     remote: 
     remote: - promise.js:614 Promise._settlePromise0 
     remote:  [build_4acd980d8a80e0486da141a82d0b3cee]/[bluebird]/js/release/promise.js:61 4:10 
     remote: 
     remote: - promise.js:693 Promise._settlePromises 
     remote:  [build_4acd980d8a80e0486da141a82d0b3cee]/[bluebird]/js/release/promise.js:69 3:18 
     remote: 
     remote: - async.js:133 Async._drainQueue 
     remote:  [build_4acd980d8a80e0486da141a82d0b3cee]/[bluebird]/js/release/async.js:133: 16 
     remote: 
     remote: - async.js:143 Async._drainQueues 
     remote:  [build_4acd980d8a80e0486da141a82d0b3cee]/[bluebird]/js/release/async.js:143: 10 
     remote: 
     remote: - async.js:17 Immediate.Async.drainQueues 
     remote:  [build_4acd980d8a80e0486da141a82d0b3cee]/[bluebird]/js/release/async.js:17:1 4 

我怎样才能解决这个问题?

+0

你的目录中是否有procfile文件?它应该在那里告诉Heroku如何启动你的应用程序。在proc文件中,你会放入类似于:web:npm start。在Heroku CLI中,尝试运行heroku logs - tail来获取更多的错误信息。 –

+0

@CrissiMariamRobert:我认为问题出在你建立的时候。你可以尝试用'yarn build'或'npm run build'来构建,看看是否会抛出错误? –

回答

0

我刚刚克隆你的回购,并试图npm install + npm run build。我发现npm run build在本地失败。所以,这是代码错误,而不是Heroku部署。

失败是从HTMLParser,所以我看着public/index.html,发现一个高度定制的模板。

要检查public/index.html内容是否是问题所在,我将其替换为默认的create-react-app HTML模板代码。然后,npm run build成功完成。

因此,看起来您的public/index.html中的HTML的有效性存在问题,这会中断create-react-app的模板引擎。我建议通过HTML validator运行它来查找问题,或者手动将模板分解为更小的可测试片段,直到找到导致构建错误的部分。