Ich benutze Vue.js, um eine SPA-Anwendung mit Django und ich transpile, häkeln und bündeln den Code mit Webpack (speziell webpack-simple
von vue-cli
Setup).Vue.js/webpack: Wie lösche ich alte Bundle-Hauptdateien - * .js, wenn sie beim Warmladen neu geladen werden?
ich folgendes „watch“ und Hot-Reload-Code ab:
$ ./node_modules/.bin/webpack --config webpack.config.js --watch
Das Problem jedes Mal, wenn ich den Code ändern und es wird gebaut es ein neues Bündel Js erzeugt Datei und Updates webpack-stats.json
um darauf zu zeigen, aber löscht nicht die alten. Wie lösche ich die alten (nutzlosen) Dateien?
webpack.config.js
:
var path = require("path")
var webpack = require('webpack')
var BundleTracker = require('webpack-bundle-tracker')
function resolve (dir) {
return path.join(__dirname, dir)
}
module.exports = {
context: __dirname,
// entry point of our app.
// assets/js/index.js should require other js modules and dependencies it needs
entry: './src/main',
output: {
path: path.resolve('./static/bundles/'),
filename: "[name]-[hash].js",
},
plugins: [
new BundleTracker({filename: './webpack-stats.json'}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
},
sourceMap: true
}),
],
module: {
loaders: [
{ test: /\.jsx?$/, exclude: /node_modules/, loader: 'babel-loader'}, // to transform JSX into JS
{test: /\.vue$/, loader: 'vue-loader'}
],
},
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src')
}
},
}
webpack-stats.json
:
{
"status":"done",
"chunks":{
"main":[
{
"name":"main-faa72a69b29c1decd182.js",
"path":"/Users/me/Code/projectname/static/bundles/main-faa72a69b29c1decd182.js"
}
]
}
}
Auch das, was ist ein guter Weg, dies fügen Kontrolle git/Quelle? Sonst ändert es sich jedes Mal und ich muss es so hinzufügen:
$ git add static/bundles/main-XXXXX.js -f
was nervig wird.
Irgendwelche Zeiger? Vielen Dank!