返回

从零搭建 Nuxt3 项目的完整流程:开发、配置、部署和定时任务

前端

Nuxt.js:渐进式 Vue.js 框架的全面指南

开发

安装 Nuxt3 CLI

踏入 Nuxt.js 世界的第一步是安装 CLI。通过运行以下命令,您可以轻松完成此操作:

npm install -g @nuxt/cli

创建 Nuxt3 项目

有了 CLI,您可以创建您的第一个 Nuxt.js 项目。使用以下命令,您将创建名为 "my-nuxt3-project" 的项目:

npx nuxi init my-nuxt3-project

运行项目

现在,是时候让您的项目运转起来了。只需运行以下命令即可:

cd my-nuxt3-project
npm run dev

开发项目

在 "pages" 目录中创建页面文件,例如 "home.vue",并添加以下代码:

<template>
  <div>
    <h1>Home Page</h1>
  </div>
</template>

<script>
export default {
  name: 'Home'
}
</script>

保存文件,刷新浏览器,瞧!您创建的页面已生动呈现。

配置

安装依赖

添加以下依赖项以优化您的 Nuxt.js 项目:

npm install -D @nuxtjs/tailwindcss @nuxtjs/router @nuxtjs/dotenv

配置 Nuxt3 项目

在 "nuxt.config.js" 中添加以下代码:

export default {
  modules: [
    '@nuxtjs/tailwindcss',
    '@nuxtjs/router',
    '@nuxtjs/dotenv'
  ],
  router: {
    middleware: ['auth']
  }
}

创建中间件

在 "middleware" 目录中创建 "auth.js" 文件,并添加:

export default function ({ redirect }) {
  if (!isAuthenticated()) {
    return redirect('/login')
  }
}

创建环境变量

在 ".env" 文件中添加环境变量:

API_URL=https://example.com/api

部署

安装 pm2

管理您的 Nuxt.js 项目需要 pm2。使用以下命令安装它:

npm install -g pm2

创建 pm2 启动脚本

在 "ecosystem.config.js" 中添加以下内容:

module.exports = {
  apps: [
    {
      name: 'my-nuxt3-project',
      script: 'npm run start',
      instances: 2,
      exec_mode: 'cluster'
    }
  ]
}

启动项目

使用以下命令启动您的项目:

pm2 start ecosystem.config.js

访问项目

通过以下 URL 访问您的项目:

http://localhost:3000

定时任务

安装 jenkins

设置定时任务需要 jenkins。运行以下命令安装它:

sudo apt install jenkins

创建 jenkins 项目

在 jenkins 中创建名为 "my-nuxt3-project" 的项目。

配置 jenkins 项目

添加以下构建步骤:

cd /var/www/my-nuxt3-project
npm run build

设置定时任务

设置定时任务:

Schedule: H/15 * * * *
SCM: Git
Repository URL: https://github.com/my-username/my-nuxt3-project.git

运行定时任务

使用以下命令运行定时任务:

jenkins-cli build my-nuxt3-project

常见问题解答

Q1:什么是 Nuxt.js?
A: Nuxt.js 是一个渐进式 Vue.js 框架,用于构建现代单页应用程序。

Q2:Nuxt.js 与 Vue.js 有何不同?
A: Nuxt.js 建立在 Vue.js 之上,为服务器端渲染、状态管理和路由等功能提供即用型支持。

Q3:Nuxt.js 适合哪些类型的应用程序?
A: Nuxt.js 非常适合构建博客、电子商务商店和数据密集型应用程序。

Q4:Nuxt.js 的主要优点是什么?
A: Nuxt.js 的优点包括出色的性能、代码拆分、易于使用和大型社区支持。

Q5:Nuxt.js 的未来是什么?
A: Nuxt.js 积极发展,不断推出新功能和改进,使其成为一个强大的框架。