【发布时间】:2018-07-18 15:28:00
【问题描述】:
这是我的 webpack.config.js 文件:
const path = require('path');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const config = {
entry: {
bundle: './javascript/index.js'
},
output: {
path: path.resolve(__dirname, 'build'),
filename: '[name].[chunkhash].js'
},
module: {
rules: [
{
use: 'babel-loader',
test: /\.js$/,
exclude: /node_modules/
},
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: "css-loader"
})
},
{
test: /\.(jpe?g|png|gif|svg)$/,
use: [
{
loader: 'url-loader',
options: {
limit: 40000
}
},
'image-webpack-loader'
]
}
]
},
plugins: [
new ExtractTextPlugin('style.css'),
new HtmlWebpackPlugin({
template: 'src/index.html'
})
],
watch: true
};
module.exports = config;
从最后一行可以看出,我将 watch 选项设置为 true。此外,当我对我的任何 javascript 文件进行更改时,我正在使用 chunkhash 生成一个新的 javascript 文件。但是,当 watch 选项设置为“true”时,它不会运行我的 rinraf clean 命令。
这是我的 package.json 文件的一部分:
{
"name": "budgety",
"version": "1.0.0",
"description": "Budget app",
"main": "app.js",
"scripts": {
"clean": "rimraf build",
"build": "npm run clean && webpack"
},
.
.
.
为什么会这样?
我的目标是:
-
在我更新我的任何 javascript 文件后更新我编译的 javascript,因此我不需要每次对我的 js 文件进行更改时都运行“npm run build”。
清理以前由 'rimraf' 处理的旧 javascript 'hashed' 文件,但由于某种原因,它没有在 watch 模式下清理新的 hashed javascript 文件。
【问题讨论】:
标签: javascript node.js webpack