发表评论
打包成静态文件部署方案,实测1核1G都能跑,无需反代和运行PM2
适用于:前端二开,4G运存以下的服务器
本地安装好node环境,进入前端目录运行下面命令:
npm install -g pnpm pnpm install
备份原来的nuxt.config,复制下面的代码,覆盖到nuxt.config
// https://nuxt.com/docs/api/configuration/nuxt-config
import { loadEnv } from 'vite' import prismjs from 'vite-plugin-prismjs' export default defineNuxtConfig({ rss:false, telemetry: false, experimental: { watcher: 'chokidar' }, app: { head: { title: 'ChatAix - 智能问答绘图系统', meta: [ { charset: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no' }, { name: "description", content: "聊天学习交流,免费AI问答功能,答案更精准,实现AI回答轻松获取,智能答案免去千篇一律,自动代码输出,引导程序员、办公人员、学生等写作思路",}, { name: "keywords", content: "AI, 语言文本处理, 数学计算, 代码编程, AI 工具, AI 绘画, 创造力, 工作效率"}, ], link: [ { rel: "icon", href: "/favicon.ico", type: 'image/x-icon'}, ], } }, css: [ '~/assets/css/style.min.css', '~/assets/css/main.css', ], modules: [ '@pinia/nuxt', '@nuxtjs/tailwindcss', '@nuxtjs/color-mode', '@pinia-plugin-persistedstate/nuxt', ], runtimeConfig: { // 运行时常量 public: { // 客户端-服务的都能访问 baseUrl: loadEnv(process.argv[process.argv.length - 1], './env').VITE_SERVER_NAME } }, vite: { plugins: [ prismjs({ // 添加支持的高亮的语言, 如果需要支持全部的话改成这样: languages: "all" languages: ['cpp', 'javascript', 'bash', 'dart', 'sql', 'css', 'html', 'java', 'json', 'sass', 'scss', 'c', 'log', 'swift', 'md', 'nginx', 'yaml', 'xml', 'shell', 'ts' ], // 配置prism插件 toolbar是后面两个插件依赖的插件. // show-language: 显示语言名。 // copy-to-clipboard: 添加复制代码功能。 plugins: ['toolbar', 'show-language', 'copy-to-clipboard'], // 主题名称,支持的主题可以在 node_moduels中安装此库的目录下寻找。 theme: "tomorrow", css: true }) ] }, nitro: { devProxy: { '/api': { target: 'http://127.0.0.11', changeOrigin: true, }, } }, })
执行pnpm run generate,即可打包成静态文件,等待打包完成后,前端目录就会多一个dist,把dist里面的文件,全部上传到服务器域名的根目录下即可,无需反代和运行PM2