我有一个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"
。
答案 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"
被调用并且它会逐个执行任务
这样就可以从缓存中删除旧文件。
但是您需要安装的依赖项很少 rimraf
npm install --save rimraf
你可以选择" rimraf"同样。