早午餐+ Heroku构建`不能GET /`

时间:2014-06-18 09:39:12

标签: javascript node.js heroku express brunch

我已经成功地让我的早午餐在Heroku上建立了。 ,导航到网站时,我的快递显示Cannot GET /

推送日志:

       > preso@1.0.0 postinstall /tmp/build_13daabc0-9174-41fd-a59e-c2a894c07256
       > ./node_modules/brunch/bin/brunch build --production

       18 Jun 08:59:09 - info: compiled 21 files into 3 files, copied 23 in 5200ms
-----> Caching node_modules directory for future builds
-----> Cleaning up node-gyp and npm artifacts
-----> Building runtime environment
-----> Discovering process types
       Procfile declares types -> web

-----> Compressing... done, 11.8MB
-----> Launching... done, v7
       http://nameless-fortress-7923.herokuapp.com/ deployed to Heroku

To git@heroku.com:nameless-fortress-7923.git
 + 75f1076...9d2a80b master -> master (forced update)

package.json依赖项:

  "dependencies": {
    "express": "^4.4.3",
    "passport-http": "^0.2.2",
    "passport": "^0.2.0",
    "brunch": "^1.7.14",
    "javascript-brunch": "^1.7.1",
    "coffee-script-brunch": "^1.7.3",
    "css-brunch": "^1.7.0",
    "stylus-brunch": "^1.7.0",
    "static-jade-brunch": "^1.7.0",
    "jade-brunch": "^1.5.1",
    "uglify-js-brunch": "^1.7.7",
    "clean-css-brunch": "^1.7.1"
  },

My Express只提供public/(在某些身份验证后面),看起来像this

它成功构建,但似乎Heroku删除/清除了public/文件夹?

任何关于为什么会发生这种情况的想法都会受到赞赏

2 个答案:

答案 0 :(得分:0)

我从未使用Brunch,但使用其他构建工具,它会在构建期间创建dist文件夹。如果你的gitignore中包含那个dist文件夹,它就不会被推送到Heroku。

您的公用文件夹可能会发生同样的事情。

答案 1 :(得分:0)

不是一个简洁的解决方案,但我的解决方法只是在本地编译并将其添加到git。

我在deploy中执行了Makefile命令,看起来像这样

default: run

run:
    rm -rf public
    ./node_modules/brunch/bin/brunch w -s

deploy:
    rm -rf public/
    rm -rf build/
    ./node_modules/brunch/bin/brunch build --production
    mv public/ build/
    git add --all build/
    git commit -m "heroku deploy"
    git push heroku master --force
    git reset HEAD~1
    rm -rf build/
    heroku open