Webpackの構成を手書き--7.Webpackにhash値を付けて名前を付けます.
2374 ワード
Webpack 4に基づく.x + npm6.5 + node v10.10.0+react+vscode環境.
プロジェクト名webpackDemo;
前のセクション:https://blog.csdn.net/fengsh998/article/details/88081807プラグインの参照.
このセクションでは、hashネーミングのメリットについて説明します.多くの場合、ブラウザがページにアクセスするときに多くのリソースファイルがローカルにキャッシュされます.キャッシュ時間が切れていない場合、新しいリソースファイルは要求されませんが、リソースを変更した場合、更新が遅れると問題が発生する場合があります.そのため、webpackはパッケージ化時にhash値を生成します.このhash値は、ソースファイルまたはリソースの変動に伴って変化し、ソースファイルが動かない場合はリソースが動かない.何も動かない場合、複数回コンパイルして生成したhashは同じです.これは心配しないでください.コンパイルするたびに異なるhashが発生するわけではない.
上からhash 3657098 ad 25 ae 41 f 7382が見られます
このhash値はどのように使いますか.Webpackでconfig.jsではhash値を使用して出力の名前を付ける必要がある場合.[hash]で読み込みます.
これで修正するとhash値が付きます.
しかしhash値を加えた後.ソースコードのコンパイルを変更するたびに新しいhashファイルが生成され、そのdistには役に立たない古いファイルゴミがたくさんあります.毎回手動で削除します.煩わしい.この場合、clean-webpack-pluginをインストールできます.https://www.npmjs.com/package/clean-webpack-plugin
これでハッシュは基本的な使用が完了したと言えるでしょう.
プロジェクト名webpackDemo;
前のセクション:https://blog.csdn.net/fengsh998/article/details/88081807プラグインの参照.
このセクションでは、hashネーミングのメリットについて説明します.多くの場合、ブラウザがページにアクセスするときに多くのリソースファイルがローカルにキャッシュされます.キャッシュ時間が切れていない場合、新しいリソースファイルは要求されませんが、リソースを変更した場合、更新が遅れると問題が発生する場合があります.そのため、webpackはパッケージ化時にhash値を生成します.このhash値は、ソースファイルまたはリソースの変動に伴って変化し、ソースファイルが動かない場合はリソースが動かない.何も動かない場合、複数回コンパイルして生成したhashは同じです.これは心配しないでください.コンパイルするたびに異なるhashが発生するわけではない.
AdeMacBook-Pro-3:webpackdemo a$ npm run dev
> [email protected] dev /Users/a/Documents/reactNative/reactstudy/webpackdemo
> webpack-dev-server
ℹ 「wds」: Project is running at http://localhost:8080/
ℹ 「wds」: webpack output is served from /
ℹ 「wds」: Content not from webpack is served from /Users/a/Documents/reactNative/reactstudy/webpackdemo/dist
ℹ 「wdm」: Hash: 3657098ad25ae41f7382
Version: webpack 4.29.6
Time: 1397ms
...
上からhash 3657098 ad 25 ae 41 f 7382が見られます
このhash値はどのように使いますか.Webpackでconfig.jsではhash値を使用して出力の名前を付ける必要がある場合.[hash]で読み込みます.
const path = require('path');
const htmlplugin = require('html-webpack-plugin')
module.exports = {
...
output: {
filename: 'bundle.[hash].js',
path: path.resolve(__dirname, 'dist')
},
...
}
これで修正するとhash値が付きます.
しかしhash値を加えた後.ソースコードのコンパイルを変更するたびに新しいhashファイルが生成され、そのdistには役に立たない古いファイルゴミがたくさんあります.毎回手動で削除します.煩わしい.この場合、clean-webpack-pluginをインストールできます.https://www.npmjs.com/package/clean-webpack-plugin
const path = require('path');
const htmlplugin = require('html-webpack-plugin')
const CleanWebpackPlugin = require('clean-webpack-plugin')
let pathsToClean = [
'dist/*.*',
'build'
]
let cleanOptions = {
root: __dirname,
verbose: true,
dry: false
}
module.exports = {
...
output: {
filename: 'bundle.[hash].js',
path: path.resolve(__dirname, 'dist')
},
plugins: [
new CleanWebpackPlugin(pathsToClean, cleanOptions),
new htmlplugin({
title: 'Html Demo',
template: path.join(__dirname, 'public', 'index.html')
})
],
...
}
これでハッシュは基本的な使用が完了したと言えるでしょう.