webpack 打包配置修改

This commit is contained in:
朱进禄 2022-03-07 16:11:31 +08:00
parent 913f9f6c62
commit 30904edfa1
3 changed files with 78 additions and 22 deletions

View File

@ -24,7 +24,7 @@
"axios": "^0.21.1", "axios": "^0.21.1",
"babel-loader": "8.2.3", "babel-loader": "8.2.3",
"clean-webpack-plugin": "^4.0.0", "clean-webpack-plugin": "^4.0.0",
"css-loader": "^6.7.0", "css-loader": "^5.2.7",
"file-loader": "^6.2.0", "file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"mini-css-extract-plugin": "^2.6.0", "mini-css-extract-plugin": "^2.6.0",
@ -3129,29 +3129,63 @@
} }
}, },
"node_modules/css-loader": { "node_modules/css-loader": {
"version": "6.7.0", "version": "5.2.7",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.0.tgz", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz",
"integrity": "sha512-S7HCfCiDHLA+VXKqdZwyRZgoO0R9BnKDnVIoHMq5grl3N86zAu7MB+FBWHr5xOJC8SmvpTLha/2NpfFkFEN/ig==", "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"icss-utils": "^5.1.0", "icss-utils": "^5.1.0",
"postcss": "^8.4.7", "loader-utils": "^2.0.0",
"postcss": "^8.2.15",
"postcss-modules-extract-imports": "^3.0.0", "postcss-modules-extract-imports": "^3.0.0",
"postcss-modules-local-by-default": "^4.0.0", "postcss-modules-local-by-default": "^4.0.0",
"postcss-modules-scope": "^3.0.0", "postcss-modules-scope": "^3.0.0",
"postcss-modules-values": "^4.0.0", "postcss-modules-values": "^4.0.0",
"postcss-value-parser": "^4.2.0", "postcss-value-parser": "^4.1.0",
"schema-utils": "^3.0.0",
"semver": "^7.3.5" "semver": "^7.3.5"
}, },
"engines": { "engines": {
"node": ">= 12.13.0" "node": ">= 10.13.0"
}, },
"funding": { "funding": {
"type": "opencollective", "type": "opencollective",
"url": "https://opencollective.com/webpack" "url": "https://opencollective.com/webpack"
}, },
"peerDependencies": { "peerDependencies": {
"webpack": "^5.0.0" "webpack": "^4.27.0 || ^5.0.0"
}
},
"node_modules/css-loader/node_modules/loader-utils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
"integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
"dev": true,
"dependencies": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
},
"engines": {
"node": ">=8.9.0"
}
},
"node_modules/css-loader/node_modules/schema-utils": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
"integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
"dev": true,
"dependencies": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
},
"engines": {
"node": ">= 10.13.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
} }
}, },
"node_modules/css-loader/node_modules/semver": { "node_modules/css-loader/node_modules/semver": {
@ -10126,21 +10160,45 @@
"integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs="
}, },
"css-loader": { "css-loader": {
"version": "6.7.0", "version": "5.2.7",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.0.tgz", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz",
"integrity": "sha512-S7HCfCiDHLA+VXKqdZwyRZgoO0R9BnKDnVIoHMq5grl3N86zAu7MB+FBWHr5xOJC8SmvpTLha/2NpfFkFEN/ig==", "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==",
"dev": true, "dev": true,
"requires": { "requires": {
"icss-utils": "^5.1.0", "icss-utils": "^5.1.0",
"postcss": "^8.4.7", "loader-utils": "^2.0.0",
"postcss": "^8.2.15",
"postcss-modules-extract-imports": "^3.0.0", "postcss-modules-extract-imports": "^3.0.0",
"postcss-modules-local-by-default": "^4.0.0", "postcss-modules-local-by-default": "^4.0.0",
"postcss-modules-scope": "^3.0.0", "postcss-modules-scope": "^3.0.0",
"postcss-modules-values": "^4.0.0", "postcss-modules-values": "^4.0.0",
"postcss-value-parser": "^4.2.0", "postcss-value-parser": "^4.1.0",
"schema-utils": "^3.0.0",
"semver": "^7.3.5" "semver": "^7.3.5"
}, },
"dependencies": { "dependencies": {
"loader-utils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
"integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
"dev": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"schema-utils": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
"integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
}
},
"semver": { "semver": {
"version": "7.3.5", "version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",

View File

@ -33,7 +33,7 @@
"axios": "^0.21.1", "axios": "^0.21.1",
"babel-loader": "8.2.3", "babel-loader": "8.2.3",
"clean-webpack-plugin": "^4.0.0", "clean-webpack-plugin": "^4.0.0",
"css-loader": "^6.7.0", "css-loader": "^5.2.7",
"file-loader": "^6.2.0", "file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"mini-css-extract-plugin": "^2.6.0", "mini-css-extract-plugin": "^2.6.0",

View File

@ -31,7 +31,7 @@ module.exports = function(env, argv) {
}, },
output: { output: {
publicPath: '/', publicPath: '/',
path: __dirname+'/source', path: __dirname + '/source',
filename: isProd ? 'js/[name].[chunkhash].js' : 'js/[name].js' filename: isProd ? 'js/[name].[chunkhash].js' : 'js/[name].js'
}, },
module: { module: {
@ -56,23 +56,21 @@ module.exports = function(env, argv) {
use: { use: {
loader: 'file-loader', loader: 'file-loader',
options: { options: {
name: '[name].[ext]', name: '[name].[contenthash:6].[ext]',
outputPath: 'images', outputPath: 'images',
esModule: false // 不使用es6的模块语法 esModule: false // 不使用es6的模块语法
} }
}, }
type: 'javascript/auto' // 默认使用自定义的
},{ },{
test: /\.(svg|eot|ttf|woff2?|otf)$/, test: /\.(svg|eot|ttf|woff2?|otf)$/,
use: { use: {
loader: 'file-loader', loader: 'file-loader',
options: { options: {
name: '[name].[fullhash:6].[ext]', name: '[name].[contenthash:6].[ext]',
outputPath: 'fonts', outputPath: 'fonts',
esModule: false // 不使用es6的模块语法 esModule: false // 不使用es6的模块语法
} }
}, }
type: 'javascript/auto' // 默认使用自定义的
} }
] ]
}, },
@ -91,7 +89,7 @@ module.exports = function(env, argv) {
dry: false, dry: false,
}), }),
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: 'css/[name].[fullhash:6].css' filename: 'css/[name].[contenthash:6].css'
}) })
], ],
mode: argv.mode, mode: argv.mode,