尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

nuxt.js 流水线自动部署设置

nuxt.js 流水线自动部署设置
📅 发布时间:2026/6/19 11:33:26
常规配置适用"cloudflare"、"netlify"
1.git存储库 选gitlab 或者 github 需要部署的代码
2.构建配置
  构建命令(Build command): npm run generate 
  构建输出(Publish directory): dist 
  根目录(Package directory)[可以空着]:
  函数目录Functions directory[可以空着或者netlify/functions]:
3.自定义配置变量
  指定node版本   NODE_VERSION                  14.18.1                         
  指定npm镜像     NPM_CONFIG_REGISTRY           https://registry.npmmirror.com/  
       指定打包环境     DEPLOY_PLATFORM               cloudflare                       

4. 项目package.josn 配置打包环境项
"scripts": {"dev": "nuxt","build": "nuxt build","start": "nuxt start","generate:default": "DEPLOY_PLATFORM=default nuxt generate","generate:github": "DEPLOY_PLATFORM=github nuxt generate","generate:gitlab": "DEPLOY_PLATFORM=gitlab nuxt generate","generate:cloudflare": "DEPLOY_PLATFORM=cloudflare nuxt generate","generate": "nuxt generate","lint": "eslint --ext .js,.vue --ignore-path .gitignore .","preview": "nuxt preview"}

5. 配置nuxt.config.js

// 先定义各平台的路径配置常量(便于维护)
const platformConfig = {default: {routerBase: '/',publicPath: '/_/',axiosBaseURL: 'http://localhost:3000',faviconHref: '/favicon.ico'},github: {// 替换为你的 GitHub 仓库名,比如仓库是 username/bbx,则填 /bbx/routerBase: '/bbx/',publicPath: '/bbx/_/',axiosBaseURL: '/',faviconHref: '/bbx/favicon.ico'},gitlab: {routerBase: '/bbx/',publicPath: '/_/',axiosBaseURL: '/',faviconHref: '/bbx/favicon.ico'},cloudflare: {routerBase: '/',publicPath: '/_/',// 替换为你的 Cloudflare Pages 域名axiosBaseURL: '/',faviconHref: '/favicon.ico'}
}// 获取当前部署平台(默认 fallback 到 default)
const currentPlatform = process.env.DEPLOY_PLATFORM || 'default';
const config = platformConfig[currentPlatform];export default {target: 'static',// 路由配置:动态适配各平台
  router: {base: config.routerBase,trailingSlash: true},// 页面头部配置
  head: {title: '',meta: [],link: [{ rel: 'icon', type: 'image/x-icon', href: config.faviconHref },],script: [],__dangerouslyDisableSanitizers: ['script'],},// 全局 CSScss: ['~/assets/css/main.css'],// 插件
  plugins: [],components: true,buildModules: [],modules: ['@nuxtjs/axios', '@nuxtjs/pwa', '@nuxt/content'],// Axios 动态适配
  axios: {baseURL: config.axiosBaseURL,},content: {},// 构建配置:动态适配 publicPath
  build: {publicPath: config.publicPath,extractCSS: true,optimizeCSS: true,extend(config, { isDev, isClient }) {if (!isDev && isClient) {config.optimization.splitChunks.maxSize = 300000;}}},// 生成配置
  generate: {dir: 'dist', // 所有平台默认输出到 dist(GitLab 后续手动 mv 到 public)fallback: '404.html',interval: 100,},static: {prefix: false}
}

6.gitlab 流水线  .gitlab-ci.yml 配置,  没有的话创建改文件,与package.josn同级路径下

# .gitlab-ci.yml
# 使用 Nuxt 2.14.6 + Node 14.18.1
stages:- build- pages  # 改为 pages 阶段(可选,但语义更清晰)# 缓存配置,加速构建
cache:paths:- node_modules/- .nuxt/- dist/# 构建阶段(注入 GitLab 环境变量,适配路径)
build:stage: buildimage: node:14.18.1-alpinebefore_script:- echo "设置 npm 镜像..."- npm config set registry https://registry.npmmirror.com/- npm cache clean --force script:- echo "安装依赖..."- npm install --no-optional- echo "构建项目..."- npm run build- echo "生成 GitLab 适配的静态文件..."# 核心修改:注入 DEPLOY_PLATFORM=gitlab 环境变量,让 nuxt.config.js 适配 GitLab 路径- DEPLOY_PLATFORM=gitlab npm run generate  - mkdir -p public    # 创建 Pages 要求的 public 目录- cp -r dist/* public/  # 把静态文件复制到 public/(Pages 只能识别该目录)artifacts:paths:- public/  # 构建产物输出到 public,供后续 pages 作业使用expire_in: 1 houronly:- main# 关键:Pages 专属作业(名称必须是 pages,否则 GitLab 不识别)
pages:stage: pagesimage: alpine:latestdependencies:- build  # 依赖 build 作业的 public 产物script:- echo "GitLab Pages 自动部署(无需额外脚本,GitLab 会自动处理)"artifacts:paths:- public/  # 必须输出 public 目录,作为 Pages 站点根目录expire_in: 1 dayonly:- main  # 只在 main 分支触发 Pages 部署

 

相关新闻

  • 通路分析?Reactome 2026
  • CSPS2020 题解
  • 2025年制冷产品供应商口碑排名:浙江冷王科技的品牌口碑好不 - mypinpai

最新新闻

  • 实测盘点|佛山黄金回收门店五大排行榜,靠谱变现门店闭眼选 - 名奢变现站
  • Steamless:终极SteamStub DRM移除工具完全指南
  • 鸣潮自动化工具如何帮你每天节省2小时游戏时间?开源方案深度解析
  • 北京朝阳区黄金回收头名商家!合扬区域第一,同城评比勇夺头名 - 奢侈品交易观察员
  • 序列检测器(Verilog):从状态机到移位寄存器的工程实践
  • 上海各区黄金回收怎么卖才划算?本地人实测变现全流程攻略 - 逸程

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号