refactor(vue.config): remove remote-only mode related code

remove the remote-only mode detection and webpack plugin configuration that replaces lang directory imports, clean up redundant code logic
This commit is contained in:
2026-06-30 14:17:53 +08:00
parent 50a1c1c695
commit de4314ec9b

View File

@@ -2,26 +2,9 @@ const path = require('path');
const fs = require('fs');
const { execSync } = require('child_process');
const { zionUniMpLoadPackagePlugin } = require('zion-uniapp-mp-load-package/webpack');
const webpack = require('webpack');
console.log('[vue.config] 已加载');
// 检测是否启用 remote-only 模式(读取 config-external.js 中的 source)
function _isRemoteOnly() {
try {
const configExternal = fs.readFileSync(path.join(__dirname, 'common/js/config-external.js'), 'utf8');
const match = configExternal.match(/source:\s*['"]remote-only['"]/);
return !!match;
} catch (e) {
return false;
}
}
const IS_REMOTE_ONLY = _isRemoteOnly();
if (IS_REMOTE_ONLY) {
console.log('[i18n] remote-only 模式已启用,将从构建产物中排除本地 lang/ 目录');
}
// 确保 UNI_APP_DOMAIN 有值(从 package.json 脚本配置中读取)
if (!process.env.UNI_APP_DOMAIN && process.env.UNI_SCRIPT) {
try {
@@ -373,20 +356,6 @@ module.exports = {
configureWebpack: config => {
console.log('config.mode = ', config.mode);
// remote-only 模式: 排除本地 lang/ 目录,减少产物体积
// 用 NormalModuleReplacementPlugin 把 @/lang/ 下的 require 替换为空模块
if (IS_REMOTE_ONLY) {
config.plugins = config.plugins || [];
config.plugins.push(new webpack.NormalModuleReplacementPlugin(
/@\/lang\//,
(resource) => {
// 替换为一个空的虚拟模块,导出 { lang: {} }
resource.request = path.join(__dirname, 'common/js/lang-empty-stub.js');
}
));
console.log('[i18n] NormalModuleReplacementPlugin 已添加,lang/ 目录将被替换为空 stub');
}
if (config.mode === 'production') {
console.log('开始尝试配置极限压缩');