vite的配置和vue项目的nginx部署和项目的静态资源vite没有打包项目静态资源

最近写了个vue的项目,还是3的,这里记录一下部署的流程。
其中使用了vite。
这里记录一下vite的一点要点,静态资源路径是import引入才会打包到静态资源文件夹中。
从这里拉的架构,东西比较多,也可以练一下自己的vue3.不过部署还有点小问题,这里记录一下。

git地址:https://github.com/pure-admin/vue-pure-admin
文档地址:https://yiming_chang.gitee.io/pure-admin-doc/pages/config/#package-json

import imgUrl from 'src/img.png'
document.getElementById('hero-img').src = imgUrl

可以使用别名。如@

/** 设置别名 */
const alias: Record<string, string> = {
  "@": pathResolve("src"),
  "@build": pathResolve("build")
};
import imgUrl from '@/img.png'
document.getElementById('hero-img').src = imgUrl

对于json下载的url来说,使用import需要表示为url,用?url加载url后面。这里vite官网有介绍,下面放个例子。

import uibJsonUrl from '@/assets/project.json?url';

完整的vite配置:

import dayjs from "dayjs";
import { resolve } from "path";
import pkg from "./package.json";
import { warpperEnv } from "./build";
import { getPluginsList } from "./build/plugins";
import { include, exclude } from "./build/optimize";
import { UserConfigExport, ConfigEnv, loadEnv } from "vite";

/** 当前执行node命令时文件夹的地址(工作目录) */
const root: string = process.cwd();

/** 路径查找 */
const pathResolve = (dir: string): string => {
  return resolve(__dirname, ".", dir);
};

/** 设置别名 */
const alias: Record<string, string> = {
  "@": pathResolve("src"),
  "@build": pathResolve("build")
};

const { dependencies, devDependencies, name, version } = pkg;
const __APP_INFO__ = {
  pkg: { dependencies, devDependencies, name, version },
  lastBuildTime: dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss")
};

export default ({ command, mode }: ConfigEnv): UserConfigExport => {
  const { VITE_CDN, VITE_PORT, VITE_COMPRESSION, VITE_PUBLIC_PATH } =
    warpperEnv(loadEnv(mode, root));
  return {
    base: VITE_PUBLIC_PATH,
    root,
    resolve: {
      alias
    },
    // 服务端渲染
    server: {
      // 是否开启 https
      https: false,
      // 端口号
      port: VITE_PORT,
      host: "0.0.0.0",
      // 本地跨域代理 https://cn.vitejs.dev/config/server-options.html#server-proxy
      proxy: {}
    },
    plugins: getPluginsList(command, VITE_CDN, VITE_COMPRESSION),
    // https://cn.vitejs.dev/config/dep-optimization-options.html#dep-optimization-options
    optimizeDeps: {
      include,
      exclude
    },
    build: {
      sourcemap: false,
      // 消除打包大小超过500kb警告
      chunkSizeWarningLimit: 4000,
      rollupOptions: {
        input: {
          index: pathResolve("index.html")
        },
        // 静态资源分类打包
        output: {
          chunkFileNames: "static/js/[name]-[hash].js",
          entryFileNames: "static/js/[name]-[hash].js",
          assetFileNames: "static/[ext]/[name]-[hash].[ext]"
        }
      }
    },
    define: {
      __INTLIFY_PROD_DEVTOOLS__: false,
      __APP_INFO__: JSON.stringify(__APP_INFO__)
    }
  };
};

简介

vue项目的部署。

开发安装使用

  • 获取项目代码

  • 安装依赖

pnpm install

  • 运行
pnpm serve
  • 打包
    执行打包命令后会生成 dist 文件夹。该文件夹用于部署。
pnpm build

部署步骤

1.使用项目目录中的 dist 文件夹。 2.将 dist 文件夹复制到 linux 环境中的/root/文件目录中。 3.安装 nginx,配置 nginx

server {
        listen       7070; #端口
        server_name Designer;
        location / {
          root   /root/dist; #项目目录i,静态资源
          index  index.html index.htm; # 首页
          # 用于配合前端路由为h5模式使用,防止刷新404 https://router.vuejs.org/zh/guide/essentials/history-mode.html#nginx
          try_files $uri $uri/ /index.html;  #去除locatin中部分,该例中为去掉了IP和端口,剩余部分路由将作为静态资源的查找路径,根文件夹为root中的文件夹,注意root中结尾不加斜杠。
        }
}

4.启动 nginx 5.访问http://ip:7070/ 进入登陆页面。(注意:ip 和端口请与环境中配置一致,linux 中防火墙端口需开发。)

Vue3是一种流行的JavaScript框架,它提供了一种简洁、高效的方式来构建用户界面。TypeScript是一种静态类型检查的JavaScript超集,可以增强代码的可读性和可维护性。Vite是一个基于ES模块的构建工具,用于快速构建现代化的Web应用程序。 要将Vue3 + TypeScript + Vite项目部署Nginx服务器上,可以按照以下步骤进行操作: 1. 构建项目:在本地开发环境中,使用Vite构建工具将Vue3 + TypeScript项目打包成静态文件。在项目根目录下运行以下命令: ``` npm run build ``` 这将生成一个`dist`目录,其中包含了构建后的静态文件。 2. 配置Nginx:在Nginx服务器上创建一个新的站点配置文件,例如`myapp.conf`。可以使用以下命令在`/etc/nginx/conf.d/`目录下创建该文件: ``` sudo nano /etc/nginx/conf.d/myapp.conf ``` 在配置文件中添加以下内容: ``` server { listen 80; server_name yourdomain.com; # 替换为你的域名 root /path/to/your/project/dist; # 替换为你的项目dist目录的路径 index index.html; location / { try_files $uri $uri/ /index.html; } } ``` 确保将`yourdomain.com`替换为你的域名,并将`/path/to/your/project/dist`替换为你的项目`dist`目录的实际路径。 3. 重启Nginx:保存并关闭配置文件后,使用以下命令重启Nginx服务器以使配置生效: ``` sudo service nginx restart ``` 现在,你的Vue3 + TypeScript + Vite项目应该已经成功部署Nginx服务器上了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值