This commit is contained in:
wucongxing8150 2025-08-11 11:50:42 +08:00
parent e576fb8c4c
commit 62f0cb0e29
7 changed files with 87 additions and 17 deletions

View File

@ -8,12 +8,14 @@
/admin/js/vue-types-DoCPvpw_.js HTTP/1.1" 405 552
```
**目标路径**: `/admin/web/assets/js/[filename]-[hash].js`
## 🔍 问题分析
### 1. 路径配置不一致
- **vite.config.js**: `base: '/'` (开发环境)
- **package.json构建命令**: `--base=/admin/` (生产环境)
- **实际部署路径**: `/admin/`
- **package.json构建命令**: `--base=/admin/web/` (生产环境)
- **实际部署路径**: `/admin/web/`
### 2. 构建输出路径问题
- JS文件被放在 `js/` 目录下
@ -27,7 +29,7 @@
#### 修改 `vite.config.js`
```javascript
export default {
base: process.env.NODE_ENV === 'production' ? '/admin/' : '/',
base: process.env.NODE_ENV === 'production' ? '/admin/web/' : '/',
// ... 其他配置
}
```
@ -49,7 +51,7 @@ export default {
#### 新增 `vite.config.dev-server.js`
```javascript
export default {
base: '/admin/',
base: '/admin/web/',
// ... 其他配置
build: {
rollupOptions: {
@ -105,11 +107,11 @@ dist/
```
### 3. 检查index.html中的路径
确保 `dist/index.html` 中的资源路径以 `/admin/assets/` 开头:
确保 `dist/index.html` 中的资源路径以 `/admin/web/assets/` 开头:
```html
<script type="module" crossorigin src="/admin/assets/js/index-[hash].js"></script>
<link rel="stylesheet" crossorigin href="/admin/assets/css/index-[hash].css">
<script type="module" crossorigin src="/admin/web/assets/js/index-[hash].js"></script>
<link rel="stylesheet" crossorigin href="/admin/web/assets/css/index-[hash].css">
```
## 🔧 部署配置
@ -120,9 +122,9 @@ server {
listen 80;
server_name dev-casedata.igandan.com;
location /admin/ {
location /admin/web/ {
alias /path/to/your/dist/;
try_files $uri $uri/ /admin/index.html;
try_files $uri $uri/ /admin/web/index.html;
# 处理静态资源
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
@ -154,7 +156,7 @@ COPY dist/ /usr/share/nginx/html/
修复后JS文件应该能够正确访问
- ✅ 正确路径: `/admin/assets/js/[filename]-[hash].js`
- ✅ 正确路径: `/admin/web/assets/js/[filename]-[hash].js`
- ❌ 错误路径: `/admin/js/[filename]-[hash].js`
## 🆘 故障排除

View File

@ -23,7 +23,7 @@ npm run build:dev-server
if [ $? -eq 0 ]; then
echo "✅ 构建成功!"
echo "📁 构建输出目录: dist/"
echo "🌐 访问路径: https://dev-casedata.igandan.com/admin/"
echo "🌐 访问路径: https://dev-casedata.igandan.com/admin/web/"
# 显示构建后的文件结构
echo "📋 构建文件列表:"

View File

@ -12,9 +12,9 @@
"localhost": "vite --mode localhost",
"dev": "vite",
"build:dev-server": "vite build --config vite.config.dev-server.js --mode dev-server",
"build:test": "vite build --base=/admin/ --mode test",
"build:pre": "vite build --base=/admin/ --mode pre",
"build:prod": "vite build --base=/admin/ --mode production"
"build:test": "vite build --base=/admin/web/ --mode test",
"build:pre": "vite build --base=/admin/web/ --mode pre",
"build:prod": "vite build --base=/admin/web/ --mode production"
},
"type": "module",
"dependencies": {

View File

@ -72,7 +72,7 @@ console.log('\n⚙ 检查vite配置:');
try {
const viteConfig = fs.readFileSync('vite.config.js', 'utf8');
if (viteConfig.includes("base: process.env.NODE_ENV === 'production' ? '/admin/' : '/'")) {
if (viteConfig.includes("base: process.env.NODE_ENV === 'production' ? '/admin/web/' : '/'")) {
console.log(' ✅ base路径配置正确');
} else {
console.log(' ❌ base路径配置不正确');

68
verify-paths.js Executable file
View File

@ -0,0 +1,68 @@
#!/usr/bin/env node
/*
* 路径验证脚本
* 用于验证新的路径配置是否正确
*/
console.log('🔍 验证路径配置...\n');
// 检查vite配置文件
const fs = require('fs');
try {
// 检查主配置文件
const mainConfig = fs.readFileSync('vite.config.js', 'utf8');
if (mainConfig.includes('/admin/web/')) {
console.log('✅ vite.config.js: base路径配置为 /admin/web/');
} else {
console.log('❌ vite.config.js: base路径配置不正确');
}
// 检查开发服务器配置文件
const devServerConfig = fs.readFileSync('vite.config.dev-server.js', 'utf8');
if (devServerConfig.includes('/admin/web/')) {
console.log('✅ vite.config.dev-server.js: base路径配置为 /admin/web/');
} else {
console.log('❌ vite.config.dev-server.js: base路径配置不正确');
}
// 检查package.json
const packageJson = JSON.parse(fs.readFileSync('package.json', 'utf8'));
const scripts = packageJson.scripts;
if (scripts['build:dev-server'] && scripts['build:dev-server'].includes('vite.config.dev-server.js')) {
console.log('✅ package.json: build:dev-server 使用专用配置文件');
} else {
console.log('❌ package.json: build:dev-server 配置不正确');
}
if (scripts['build:test'] && scripts['build:test'].includes('/admin/web/')) {
console.log('✅ package.json: build:test 使用 /admin/web/ 路径');
} else {
console.log('❌ package.json: build:test 路径配置不正确');
}
if (scripts['build:pre'] && scripts['build:pre'].includes('/admin/web/')) {
console.log('✅ package.json: build:pre 使用 /admin/web/ 路径');
} else {
console.log('❌ package.json: build:pre 路径配置不正确');
}
if (scripts['build:prod'] && scripts['build:prod'].includes('/admin/web/')) {
console.log('✅ package.json: build:prod 使用 /admin/web/ 路径');
} else {
console.log('❌ package.json: build:prod 路径配置不正确');
}
} catch (error) {
console.log('❌ 读取配置文件失败:', error.message);
}
console.log('\n🎯 路径配置验证完成!');
console.log('💡 现在可以运行以下命令进行构建测试:');
console.log(' npm run build:dev-server');
console.log('\n📋 预期结果:');
console.log(' JS文件路径: /admin/web/assets/js/[filename]-[hash].js');
console.log(' CSS文件路径: /admin/web/assets/css/[filename]-[hash].css');
console.log(' 其他资源: /admin/web/assets/[ext]/[filename]-[hash].[ext]');

View File

@ -14,7 +14,7 @@ const pathResolve = (dir) => {
};
export default {
base: '/admin/',
base: '/admin/web/',
root: process.cwd(),
resolve: {
alias: [

View File

@ -15,7 +15,7 @@ const pathResolve = (dir) => {
return resolve(__dirname, '.', dir);
};
export default {
base: process.env.NODE_ENV === 'production' ? '/admin/' : '/',
base: process.env.NODE_ENV === 'production' ? '/admin/web/' : '/',
root: process.cwd(),
resolve: {
alias: [