在部署到heroku时出现错误“错误地加载资源404”bundle.js

我试图将我的应用程序部署到heroku,但它抛出了我列在标题中的这个错误。 我正在使用webpack将文件捆绑到文件bundle.js我只是不知道如何将其部署到heroku,以便bundle.js将可用。 你如何协调webpack与heroku? 我将附加我的db.js文件和package.json文件。

db.js

var Sequelize = require('sequelize'); var env = process.env.NODE_ENV || 'development'; var sequelize; if (env === 'production') { sequelize = new Sequelize(process.env.DATABASE_URL, { dialect: 'postgres' }); // This if statement should execute if the app is run on Heroku } else { sequelize = new Sequelize(undefined, undefined, undefined, { 'dialect': 'sqlite', 'storage': __dirname + '/data/practice-todo-api.sqlite' }); } var db = {}; db.todo = sequelize.import(__dirname + '/models/todo.js'); db.user = sequelize.import(__dirname + '/models/user.js'); db.token = sequelize.import(__dirname + '/models/token.js'); db.sequelize = sequelize; db.Sequelize = Sequelize; db.todo.belongsTo(db.user); db.user.hasMany(db.todo); module.exports = db; 

的package.json

 { "name": "practice-todo-api", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "node server.js" }, "author": "", "license": "ISC", "dependencies": { "axios": "^0.9.1", "bcrypt": "^0.8.5", "body-parser": "^1.13.3", "crypto-js": "^3.1.5", "express": "^4.13.3", "jsonwebtoken": "^5.0.5", "lodash": "^3.10.1", "moment": "^2.11.2", "pg": "^4.4.1", "pg-hstore": "^2.3.2", "react": "^0.14.7", "react-dom": "^0.14.7", "react-redux": "^4.0.0", "react-router": "^2.0.0-rc5", "redux": "^3.0.4", "redux-form": "^4.1.3", "redux-promise": "^0.5.1", "request": "^2.60.0", "sequelize": "^3.17.1", "sqlite3": "^3.1.1", "underscore": "^1.8.3" }, "devDependencies": { "babel-core": "^6.5.1", "babel-loader": "^6.2.2", "babel-preset-es2015": "^6.5.0", "babel-preset-react": "^6.5.0", "babel-preset-stage-0": "^6.5.0", "file-loader": "^0.8.5", "webpack": "^1.12.13" } } 

Heroku识别一个名为postinstall的脚本,作为部署生命周期的一部分,在运行npm install之后执行。 在postinstall脚本中,指定用于转储bundle.js文件的命令。

例如:

 ... "scripts": { "build": "webpack --config ./config/webpack.config.js --progress --colors", "start": "node server.js", "postinstall": "npm run build" // referencing the "build" script above }, ... 

一些有用的资源: