升级 yilia 主题构建工具链

- 升级 babel 相关依赖至 ^7.26.0,配置按需引入 core-js polyfill
- 升级 webpack 5.70.0 → 5.97.1,webpack-cli 4.9.2 → 5.1.4
- 升级 css-loader、postcss-loader、less-loader 等至最新版本
- 移除废弃的 file-loader/url-loader,改用 webpack5 内置 asset modules
- 移除 babel-polyfill 和 leancloud-storage,添加 @babel/runtime 和 core-js
- 升级 vue 2.6.14 → 2.7.16,axios 1.13.6 → 1.8.4
- 添加 browserslist 配置

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
灌糖包子 2026-03-24 22:12:52 +08:00
parent 183aa7627b
commit 7d827d5db8
Signed by: sookie
GPG Key ID: 0599BECB75C1E68D
5 changed files with 2316 additions and 7692 deletions

View File

@ -1,6 +1,9 @@
{ {
"presets": [ "presets": [
"@babel/preset-env" ["@babel/preset-env", {
"useBuiltIns": "usage",
"corejs": 3
}]
], ],
"plugins": [ "plugins": [
"@babel/transform-runtime" "@babel/transform-runtime"

File diff suppressed because it is too large Load Diff

View File

@ -18,39 +18,37 @@
"author": "litten", "author": "litten",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"babel-polyfill": "^6.23.0", "@babel/runtime": "^7.26.0",
"leancloud-storage": "^3.7.3", "core-js": "^3.40.0",
"photoswipe": "^4.1.3", "photoswipe": "^4.1.3",
"qrious": "^4.0.2", "qrious": "^4.0.2",
"scrollreveal": "^4.0.5", "scrollreveal": "^4.0.9",
"vue": "^2.6.14" "vue": "^2.7.16"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.17.5", "@babel/core": "^7.26.0",
"@babel/plugin-transform-runtime": "^7.17.0", "@babel/plugin-transform-runtime": "^7.25.9",
"@babel/preset-env": "^7.16.11", "@babel/preset-env": "^7.26.0",
"autoprefixer": "^10.4.2", "autoprefixer": "^10.4.20",
"axios": "^1.13.6", "axios": "^1.8.4",
"babel-loader": "8.3.0", "babel-loader": "^9.2.1",
"clean-webpack-plugin": "^4.0.0", "clean-webpack-plugin": "^4.0.0",
"css-loader": "^5.2.7", "css-loader": "^7.1.2",
"file-loader": "^6.2.0", "html-webpack-plugin": "^5.6.3",
"html-webpack-plugin": "^5.5.0", "less": "^4.2.2",
"less": "^4.1.3", "less-loader": "^12.2.0",
"less-loader": "^11.1.0", "mini-css-extract-plugin": "^2.9.2",
"mini-css-extract-plugin": "^2.6.0", "postcss": "^8.5.3",
"postcss-loader": "^6.2.1", "postcss-loader": "^8.1.1",
"terser-webpack-plugin": "^5.3.1", "terser-webpack-plugin": "^5.3.11",
"url-loader": "^4.1.1", "webpack": "^5.97.1",
"webpack": "^5.70.0", "webpack-cli": "^5.1.4"
"webpack-cli": "^4.9.2"
}, },
"browserslist": [ "browserslist": [
"> 1%", "> 1%",
"last 2 versions", "last 2 versions",
"not dead", "not dead",
"iOS >= 7", "iOS >= 10",
"Android >= 4", "Android >= 5"
"not ie <= 8"
] ]
} }

View File

@ -1,6 +1,5 @@
module.exports = { module.exports = {
plugins: [ plugins: [
"autoprefixer", "autoprefixer"
"postcss-preset-env"
] ]
} }

View File

@ -24,7 +24,7 @@ module.exports = function(env, argv) {
})] })]
}, },
entry: { entry: {
main: ['babel-polyfill', './source-src/js/main.js'], main: './source-src/js/main.js',
slider: './source-src/js/slider.js', slider: './source-src/js/slider.js',
mobile: './source-src/js/mobile.js', mobile: './source-src/js/mobile.js',
viewer: './source-src/js/viewer.js' viewer: './source-src/js/viewer.js'
@ -37,39 +37,25 @@ module.exports = function(env, argv) {
module: { module: {
rules: [{ rules: [{
test: /\.js$/, test: /\.js$/,
use: { use: 'babel-loader',
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env'],
plugins: ['@babel/plugin-proposal-class-properties'],
},
},
exclude: /node_modules/ exclude: /node_modules/
},{ },{
test: /\.less$/, test: /\.less$/,
use: [MiniCssExtractPlugin.loader, 'css-loader', 'less-loader'] use: [MiniCssExtractPlugin.loader, 'css-loader', 'postcss-loader', 'less-loader']
},{ },{
test: /\.css$/, test: /\.css$/,
use: [MiniCssExtractPlugin.loader, 'css-loader'] use: [MiniCssExtractPlugin.loader, 'css-loader', 'postcss-loader']
},{ },{
test: /\.(png|jpe?g|gif|ico)$/, test: /\.(png|jpe?g|gif|ico)$/,
use: { type: 'asset/resource',
loader: 'file-loader', generator: {
options: { filename: 'images/[name].[contenthash:6][ext]'
name: '[name].[contenthash:6].[ext]',
outputPath: 'images',
esModule: false // 不使用es6的模块语法
}
} }
},{ },{
test: /\.(svg|eot|ttf|woff2?|otf)$/, test: /\.(svg|eot|ttf|woff2?|otf)$/,
use: { type: 'asset/resource',
loader: 'file-loader', generator: {
options: { filename: 'fonts/[name].[contenthash:6][ext]'
name: '[name].[contenthash:6].[ext]',
outputPath: 'fonts',
esModule: false // 不使用es6的模块语法
}
} }
} }
] ]