vue-cli-service 简单介绍

内容分享2小时前发布
0 0 0

vue-cli-service 是 Vue CLI(@vue/cli) 提供的核心命令行工具,是 Vue 项目(基于 Vue CLI 构建)的「一站式开发 / 构建 / 调试入口」,封装了 Webpack、Babel、ESLint 等底层工具链,无需手动配置复杂的构建脚本,即可完成项目的开发、打包、测试等核心操作。

一、核心定位:为什么需要vue-cli-service?

Vue CLI 是 Vue 官方的项目脚手架,vue-cli-service 是其核心运行时:

  • 它将 Webpack 配置、开发服务器、代码编译、打包优化等逻辑封装成标准化命令;
  • 开发者无需手写 webpack.config.js,只需通过 vue-cli-service 命令即可完成开发 / 构建;
  • 支持通过 vue.config.js 自定义配置,兼顾「开箱即用」和「灵活扩展」。

二、vue-cli-service的核心命令

使用方式:在 Vue CLI 构建的项目根目录执行(基于 package.json 的 scripts 映射,或直接执行)。

1. 开发环境启动(最常用)

bash

运行

# 本地开发服务器(热更新、调试)
vue-cli-service serve
# 简写(package.json 中一般配置为 npm run serve)
npm run serve

核心作用

  • 启动基于 webpack-dev-server 的本地开发服务器(默认端口 8080);
  • 开启热模块替换(HMR):修改代码后页面实时更新,无需手动刷新;
  • 自动编译 Vue/SCSS/TS 等文件,输出调试友善的代码;
  • 支持参数自定义:
  • bash
  • 运行
  • # 指定端口 vue-cli-service serve –port 3000 # 指定主机(允许局域网访问) vue-cli-service serve –host 0.0.0.0 # 禁用热更新 vue-cli-service serve –no-hot

2. 生产环境打包

bash

运行

# 生产环境构建(打包为静态文件)
vue-cli-service build
# 简写(package.json 中一般配置为 npm run build)
npm run build

核心作用

  • 将项目编译、压缩、优化后输出到 dist 目录(可通过 vue.config.js 自定义输出目录);
  • 自动拆分代码(chunk 分割)、压缩 JS/CSS/HTML、优化图片;
  • 生成 dist/index.html 和静态资源(适配生产环境部署);
  • 支持参数自定义:
  • bash
  • 运行
  • # 打包为生产环境 + 分析打包体积 vue-cli-service build –report # 生成 report.html,查看各模块体积占比 # 打包测试环境(基于环境变量) vue-cli-service build –mode test

3. 代码检查(ESLint)

bash

运行

# 检查代码规范(基于项目 ESLint 配置)
vue-cli-service lint
# 自动修复可修复的 ESLint 错误
vue-cli-service lint --fix

核心作用

  • 校验代码风格(如缩进、变量命名、语法错误);
  • 集成 Vue 专属的 ESLint 规则(如 eslint-plugin-vue);
  • 支持自动修复常见格式问题。

4. 其他常用命令

命令

作用

vue-cli-service inspect

输出当前项目的 Webpack 完整配置(调试用)

vue-cli-service test:unit

运行单元测试(需安装 @vue/cli-plugin-unit-jest)

vue-cli-service test:e2e

运行端到端测试(需安装 @
vue/cli-plugin-e2e-cypress)

三、vue-cli-service的运行机制

  1. 配置加载:执行命令时,先加载项目根目录的 vue.config.js(若存在),覆盖默认配置;
  2. 环境变量:读取 .env/.env.development/.env.production 等文件,注入环境变量(如 VUE_APP_BASE_URL);
  3. 工具链调用:底层调用 Webpack、Babel、vue-loader 等工具,完成编译 / 打包 / 开发服务器启动;
  4. 输出结果:开发时输出到内存(热更新),打包时输出到 dist 目录。

四、关键配置:vue.config.js

若需自定义 vue-cli-service 的行为(如修改 Webpack 配置、配置代理),可在项目根目录创建 vue.config.js:

js

// vue.config.js
module.exports = {
  // 开发服务器配置(代理解决跨域)
  devServer: {
    port: 3000,
    proxy: {
      '/api': {
        target: 'http://localhost:8000',
        changeOrigin: true,
        pathRewrite: { '^/api': '' }
      }
    }
  },
  // 打包输出目录
  outputDir: 'build',
  // 自定义 Webpack 配置
  configureWebpack: {
    resolve: {
      alias: {
        '@': require('path').resolve(__dirname, 'src') // 配置 @ 指向 src
      }
    }
  }
};

五、与其他工具的关系

工具 / 命令

与 vue-cli-service 的关系

npm run serve

是 vue-cli-service serve 的 npm 脚本映射(在 package.json 的 scripts 中定义)

Webpack

vue-cli-service 底层封装了 Webpack,无需手动配置

Vite

Vue 3 新推荐的构建工具,替代 Vue CLI + vue-cli-service(更轻量、更快)

@vue/cli

vue-cli-service 是 @vue/cli-service 包提供的可执行命令,@vue/cli 是脚手架核心包

六、常见问题与注意事项

  1. 命令找不到:若执行 vue-cli-service 提示「命令不存在」,需确保已安装依赖:npm install;全局安装 Vue CLI:npm install -g @vue/cli(推荐局部安装,避免版本冲突)。
  2. 与 Electron/Rubick 结合:若在 Rubick(Electron)项目中使用 vue-cli-service,需注意:打包时需配置 publicPath: './'(避免 Electron 中路径错误);开发时需区分「浏览器环境」和「Electron 环境」(如通过环境变量 VUE_APP_IS_ELECTRON)。
  3. Vue 3 迁移提示:Vue 3 官方更推荐 Vite 替代 Vue CLI,Vite 的 npm run dev 对应 vue-cli-service serve,npm run build 对应 vue-cli-service build,且构建速度更快。

总结

vue-cli-service 是 Vue CLI 项目的「构建 / 开发核心命令」,核心价值是:

  1. 封装复杂的 Webpack/Babel 配置,开箱即用;
  2. 提供标准化的开发 / 打包 / 测试命令,降低前端工程化门槛;
  3. 支持通过 vue.config.js 灵活扩展,适配不同项目需求。

在你的 Rubick(Electron + Vue)项目中,vue-cli-service serve 用于插件前端页面的本地开发,vue-cli-service build 用于将 Vue 页面打包为静态文件,供 Electron 渲染进程加载。

© 版权声明

相关文章

暂无评论

none
暂无评论...