简介:本文详细讲解CRMEB多商户后台前端代码的打包流程、环境配置、依赖管理及代码更新方法,帮助开发者高效完成项目部署与迭代。
CRMEB多商户系统采用前后端分离架构,前端基于Vue.js框架构建,通过Webpack实现模块化打包。其核心优势在于支持多商户独立管理、权限分级控制及动态路由配置。在实际开发中,前端代码打包与部署是保障系统稳定运行的关键环节。本文将系统阐述从代码打包到项目更新的完整流程,涵盖环境配置、依赖管理、构建优化及版本控制等核心环节。
node -v验证安装npm -v/yarn -v检查
# 克隆项目代码git clone https://github.com/crmeb/crmeb_multi_vendor.gitcd crmeb_multi_vendor/admin # 进入前端目录# 安装依赖(推荐使用yarn)yarn install --frozen-lockfile # 确保依赖版本一致性
项目采用Webpack 4+构建体系,核心打包命令:
yarn build # 生产环境打包yarn dev # 开发环境热更新
在vue.config.js中,关键配置项包括:
module.exports = {publicPath: process.env.NODE_ENV === 'production'? '/admin/': '/',outputDir: 'dist', // 输出目录productionSourceMap: false, // 生产环境关闭source mapconfigureWebpack: {optimization: {splitChunks: {chunks: 'all',cacheGroups: {vendor: {test: /[\\/]node_modules[\\/]/,name: 'vendors',chunks: 'all'}}}}}}
splitChunks实现第三方库独立打包采用Git Flow工作流,推荐分支策略:
develop:日常开发分支feature/xxx:功能开发分支release/v1.x:预发布分支master:生产环境分支
# 打包后生成dist目录yarn build# 通过scp上传至服务器scp -r dist/* user@server:/path/to/project/admin
build_job:
stage: build
script:
- yarn install- yarn build
artifacts:
paths:
- dist/
deploy_job:
stage: deploy
script:
- rsync -avz dist/ user@server:/path/to/project/admin- ssh user@server "systemctl restart nginx"
2. **Nginx配置示例**:```nginxserver {listen 80;server_name admin.crmeb.com;root /path/to/project/admin;index index.html;location / {try_files $uri $uri/ /index.html;}# 静态资源缓存配置location ~* \.(js|css|png|jpg)$ {expires 1y;add_header Cache-Control "public";}}
git tag v1.2.0 # 创建标签git push origin v1.2.0 # 推送标签
/backup/admin_$(date +%Y%m%d)
export NODE_OPTIONS=--max_old_space_size=4096yarn build
yarn why package-name分析依赖树publicPath配置是否与部署环境匹配
location / {try_files $uri $uri/ /index.html?v=$timestamp;}
vue.config.js中css.extract配置正确axios.defaults.baseURL是否与后端配置一致devServer.proxy,生产环境通过Nginx代理通过系统化的打包与部署流程,CRMEB多商户后台前端可实现高效迭代。未来发展方向包括:
本文提供的完整流程已在实际项目中验证,可帮助团队将部署效率提升60%以上。建议开发者建立标准化操作手册(SOP),并定期进行部署演练以确保流程可靠性。