深入浅出GitHub Top项目:Vue.js在Rocky Linux 9的运行与调试

云信安装大师
90
AI 质量分
10 5 月, 2025
4 分钟阅读
0 阅读

深入浅出GitHub Top项目:Vue.js在Rocky Linux 9的运行与调试

引言

Vue.js作为GitHub上最受欢迎的前端框架之一,以其轻量级和易用性著称。本文将带你从零开始,在Rocky Linux 9系统上搭建Vue.js开发环境,创建并运行一个基础项目,最后介绍如何进行调试。无论你是Linux新手还是前端开发初学者,都能通过本文学会如何在企业级Linux发行版上玩转Vue.js。

准备工作

环境要求

  • Rocky Linux 9系统(已配置sudo权限的用户)
  • 至少2GB可用内存
  • 10GB可用磁盘空间
  • 稳定的网络连接

前置知识

  • 基本Linux命令行操作
  • JavaScript基础语法概念

步骤一:安装Node.js和npm

Vue.js运行需要Node.js环境,我们将通过NodeSource仓库安装最新LTS版本。

代码片段
# 1. 添加NodeSource仓库
curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -

# 2. 安装Node.js和npm
sudo dnf install -y nodejs

# 3. 验证安装
node -v
npm -v

注意事项:
– Rocky Linux默认仓库中的Node.js版本可能较旧,建议使用NodeSource仓库
– 如果遇到权限问题,可在命令前加上sudo

原理说明:
curl命令下载并执行NodeSource的安装脚本
setup_lts.x脚本会自动配置yum仓库
nodejs包包含Node运行时和npm包管理器

步骤二:安装Vue CLI脚手架工具

Vue CLI是官方提供的项目脚手架工具,能快速初始化项目结构。

代码片段
# 1. 全局安装Vue CLI
sudo npm install -g @vue/cli

# 2. 验证安装
vue --version

# [可选]如果安装速度慢,可以换用淘宝镜像
sudo npm install -g cnpm --registry=https://registry.npmmirror.com
sudo cnpm install -g @vue/cli

实践经验:
– 国内用户建议使用cnpm镜像加速安装过程
-g参数表示全局安装,使所有用户都能使用vue命令

步骤三:创建并运行Vue项目

现在我们来创建一个全新的Vue项目并运行它。

代码片段
# 1. 创建项目(项目名不要包含大写字母)
vue create my-vue-app

# 交互式选择配置:
# ? Please pick a preset: Default ([Vue3] babel, eslint)

# 2. 进入项目目录
cd my-vue-app

# 3. 启动开发服务器
npm run serve

关键点解释:
1. vue create会交互式询问配置选项:
– Vue版本选择(建议选Vue3)
– Babel转译器(默认包含)
– ESLint代码检查工具(默认包含)

  1. npm run serve会:
    • 启动本地开发服务器(默认端口8080)
    • 启用热重载功能(修改代码自动刷新)
    • Open your browser to http://localhost:8080/

常见问题解决:
端口冲突:若8080被占用,可在package.json中修改serve脚本:

代码片段
"scripts": {
    "serve": "vue-cli-service serve --port <新端口号>"
}
  • 权限问题:如果出现EACCES错误,尝试:
代码片段
sudo chown -R $USER:$USER /path/to/my-vue-app 

Vue项目结构解析

了解生成的项目结构有助于后续开发:

代码片段
my-vue-app/
├── node_modules/    # npm依赖包目录(自动生成)
├── public/          # HTML模板和静态资源目录  
│   ├── favicon.ico  
│   └── index.html   
├── src/             # Vue源码目录  
│   ├── assets/      # CSS/图片等资源  
│   ├── components/  
│   ├── App.vue      # Vue根组件  
│   └── main.js      # JS入口文件  
├── package.json     # npm配置文件  
└── vue.config.js    # Vue CLI配置文件 

Vue组件示例分析

让我们分析一个简单的计数器组件:

代码片段
<!-- src/components/Counter.vue -->
<template>
    <div class="counter">
        <h2>{{ title }}</h2>
        <button @click="decrement">−</button>
        <span>{{ count }}</span>
        <button @click="increment">+</button>
    </div>
</template>

<script>
export default {
    data() {
        return {
            title: "简单计数器",
            count:0 
        }
    },
    methods: {
        increment() { this.count++ },
        decrement() { this.count-- }
    }
}
</script>

<style scoped>
.counter { font-size:24px; }
button { margin:0 .5em; }
</style>

代码说明:
1. <template>部分定义HTML结构
2. <script>部分定义数据和方法
3. <style scoped>定义只作用于本组件的样式

在App.vue中使用这个组件:

代码片段
<template>
    <div id="app">
        <Counter />
    </div>
</template>

<script>
import Counter from './components/Counter.vue'

export default {
    components: { Counter }
}
</script>

Vue调试技巧

Chrome开发者工具调试

  1. 组件树检查

    • F12打开开发者工具 → Vue面板
    • View → Explorer → Components
  2. 状态追踪

    • Components面板选中组件 → State查看数据
  3. 事件监听

    • Elements面板 → Event Listeners标签页

VS Code调试配置

.vscode/launch.json配置:

代码片段
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "chrome",
            "request": "launch",
            "name": "Debug Vue App",
            "url": "http://localhost:8080", //匹配你的端口号 
            "webRoot": "${workspaceFolder}/src"
        }
    ]
}

使用方法:
1. F5启动调试会话
2. VS Code会自动打开Chrome实例并附加调试器

Rocky Linux特定优化

为提升开发体验,可以调整系统设置:

代码片段
#1.增加文件监视限制(避免ENOSPC错误)
echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system 

#2.[可选]关闭SELinux(仅开发环境)
sudo setenforce Permissive 

#3.[可选]启用防火墙端口(若使用非标准端口) 
sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reload 

TypeScript支持(可选)

若要使用TypeScript创建项目:

代码片段
vue create my-vue-app --preset default-with-typescript 

cd my-vue-app && npm run serve 

主要区别在于:
1) .js文件变为.ts
2) main.ts中包含类型声明导入

CI/CD集成示例(可选)

在项目中添加GitLab CI配置(./gitlab-ci.yml):

代码片段
stages:
    - build

build_job:
    stage: build  
    image: node:16-alpine  
    script:
        - npm install   
        - npm run build   
    artifacts:
        paths:
            - dist/

Nginx生产部署示例

构建生产版本并部署到Nginx:

代码片段
#1.构建生产包(生成dist目录)  
npm run build  

#2.Rocky Linux上安装Nginx  
sudo dnf install nginx  

#3.Nginx配置(/etc/nginx/conf.d/vue.conf)  
server {
    listen        80;
    server_name   your_domain.com;

    location / {
        root      /path/to/dist;
        try_files $uri $uri/ /index.html;

        #缓存优化设置(可选)
        expires max;
        add_header Cache-Control public;

        gzip on;    
    }    
}  

#4.Systemd重启Nginx服务  
sudo systemctl restart nginx  

Webpack自定义配置(高级)

修改vue.config.js进行高级定制:

代码片段
module.exports = {
    devServer: { //开发服务器设置    
        host:'0.0.0.0', //允许局域网访问    
        port:3000,      //自定义端口    

        proxy:{         //API代理设置   
            '/api':{     
                target:'http://backend-server',   
                changeOrigin:true    
            }    
        }    

     },     
     configureWebpack:{ //Webpack合并设置   
         performance:{ hints:'warning' },   
         resolve:{ symlinks:false }   
     },     
     chainWebpack(config){ //链式操作Webpack配置   
         config.plugin('html').tap(args=>{     
             args[0].title='我的应用';     
             return args;      
         })     
     }      
}      

关键参数说明:
1) devServer.proxy: API跨域代理解决方案
2) configureWebpack: Webpack原生配置扩展方式

Alpine容器化方案(轻量级)

适合资源受限环境的Dockerfile:

代码片段
FROM node:16-alpine AS builder  

WORKDIR /app  

COPY package*.json ./  

RUN npm install   

COPY . .  

RUN npm run build   

FROM nginx:alpine  

COPY --from=builder /app/dist /usr/share/nginx/html  

EXPOSE80   

CMD ["nginx","-g","daemon off;"]   

构建命令:

代码片段
docker build-t vue-rocky-image . && \   
docker run-p8088:80-d vue-rocky-image   

ESLint规范定制(团队协作)

修改.eslintrc.js适应团队规范:

代码片段
module.exports={   
root:true,   

env:{ node:true },   

extends:[ 'plugin:@typescript-eslint/recommended','@vue/typescript/recommended' ],   

rules:{    

//自定义规则集    

'@typescript-eslint/explicit-function-return-type':'off',    

'no-console':process.env.NODE_ENV==='production'?'warn':'off',    

'no-debugger':process.env.NODE_ENV==='production'?'warn':'off',    

'indent':['error',4],    

'semi':['error','always']    

},   

overrides:[{ files:'*.vue',rules:{ indent:'off' }}]   

};   

常见规则说明:
1) no-console:生产环境禁用console.log()
2) indent:强制4空格缩进风格


通过以上完整流程,我们已经在Rocky Linux9上成功搭建了现代化的Vue3开发环境。关键要点回顾:

1️⃣ Node环境通过官方源而非EPEL获取最新稳定版
2️⃣ VueCLI提供标准化的项目脚手架能力
3️⃣ SFC单文件组件是核心开发模式
4️⃣ ChromeDevTools+VSCode实现双端调试
5️⃣ RockyLinux需要适当调整系统限制参数

下一步学习建议:
• Vite构建工具与性能优化
• Pinia状态管理库替代Vuex
• CompositionAPI深度实践

原创 高质量