Webpack没有在Heroku重建上更新

时间:2017-05-18 17:40:54

标签: node.js reactjs heroku webpack

我有一个Node应用程序,它使用Webpack构建React并在Heroku上托管。每当我将新版本推送到Heroku master时,React文件都不会更新。我现在已经推出了几个较新的版本,但webpack://中的React文件不会更新,并且在我第一次部署应用程序时仍然是原始文件。

这是我的webpack.config.js文件:

const webpack = require('webpack');
const path = require('path');

module.exports = {
 entry: {
  main: `${__dirname}/src/app.js`
 },
 output: {
  path: __dirname,
  filename: './public/bundle.js'
 },
 module: {
  loaders: [{
    loader: 'babel-loader',
    query: {
      presets: ['react', 'es2015', 'stage-2']
    },
    test: /\.jsx?$/,
    exclude: /(node_modules|bower_components)/
  }]
 },
 devtool: 'cheap-module-eval-source-map'
};

我的package.json包括"heroku-postinstall": "webpack -p -w --config ./webpack.config.js --progress"

1 个答案:

答案 0 :(得分:0)

我也遇到过类似的问题。 (只需确保您的webpack配置文件正确,并且在本地运行webpack构建时没有任何错误)

我在post-install

中按照以下方式修改了我的package.json脚本
  "scripts": {
    "clean": "rimraf public/bundle.*",
    "build": "cross-env NODE_ENV=production webpack --config ./webpack.prod.config.js --progress --colors",
    "postinstall": "npm run clean && npm run build",
}

当我将我的更改推送到heroku时"postinstall"被调用并且它会逐个执行任务

  1. 清理旧的构建文件
  2. 生成新版本
  3. 这样就可以从缓存中删除旧文件。

    但是您需要安装的依赖项很少 rimraf

    npm install --save rimraf
    

    你可以选择" rimraf"同样。