After you’ve created a Ember-Cli app, create a Procfile, it will tell Heroku what to do when your application starts.
touch Procfile
In Procfile.
web: ember serve --port $PORT --live-reload=false
In package.json make sure you have something like the following.
Note: the Ember team is depreciating Bower moving forward but Heroku is happy with it for the moment. This will install dependencies.
"scripts": { "start": "ember server", "build": "ember build", "test": "ember test", "postinstall": "./node_modules/bower/bin/bower install" },
Change the package.json node “devDependencies” to “dependencies” or change the Heroku config to use the Dev Dependencies with the following line.
heroku config:set NPM_CONFIG_PRODUCTION=false
If you are using external resources, in config/environment.js, do something like the following to get things running and then strip it back.
Note: use relative protocols to avoid mixed content issues.
“mixed content was loaded over HTTPS, but requested an insecure script”
Caution! This is for a TEST application that uses external javascript, fonts, images and stylesheets.
ENV.contentSecurityPolicy = { 'default-src': "'self'", 'script-src': "'self' http://localhost:4200 'unsafe-eval' * 'unsafe-inline' *", 'font-src': "'self' 'unsafe-eval' * 'unsafe-inline' *", 'connect-src': "'self'", 'img-src': "'self' 'unsafe-eval' * 'unsafe-inline' *", 'style-src': "'self' 'unsafe-eval' * 'unsafe-inline' *", 'media-src': "'self'" }