7 4 月 2026, 周二

推荐的目录结构

 your-vite-project/
├──  public/               # 存放静态资源(不会被 Vite 处理,直接原样提供)
│   ├──  assets/           # 例如 logo、favicon
│   ├──  libs/             # 第三方库(如未通过 npm 安装的 js/css)
│   ├── favicon.ico
│   └── robots.txt
├──  src/                  # 源代码目录
│   ├──  assets/           # 存放需要被 Vite 处理的资源(CSS、JS、图片等)
│   │   ├──  styles/       # 全局样式文件(SCSS、CSS)
│   │   ├──  scripts/      # 自定义 JS 逻辑
│   │   ├──  images/       # 需要 import 进组件的图片
│   │   └── index.css        # 入口 CSS 文件
│   ├──  components/       # 组件(Vue/React)
│   ├──  pages/            # 页面级组件
│   ├──  layouts/          # 布局组件
│   ├── main.js              # 入口文件(引入 CSS、JS)
│   └── App.vue / App.jsx    # 主应用组件
├──  index.html            # 主 HTML 入口
├──  vite.config.js        # Vite 配置文件
└──  package.json          # 依赖管理

CSS 和 JS 的存放建议

文件类型 目录 说明
全局 CSS src/assets/styles/ 存放全局 CSS、SCSS,如 global.cssmain.scss
组件 CSS src/components/ 组件内部的 CSS 放在对应 .vue.jsx 文件
外部库 CSS public/libs/ 不能用 npm 安装的 CSS(如 AdminLTE)
全局 JS src/assets/scripts/ 项目中公用的 JS
组件 JS src/components/ 组件的逻辑直接放在 .vue.jsx 文件中
外部库 JS public/libs/ 不能通过 npm 安装的 JS(如一些插件)

如何引入 CSS 和 JS

1. 在 main.js 里引入全局 CSS

js复制编辑import './assets/styles/main.css';
import 'bootstrap/dist/css/bootstrap.min.css'; // 通过 npm 安装的库

2. 在 main.js 里引入全局 JS

js复制编辑import 'bootstrap/dist/js/bootstrap.bundle.min.js'; // 通过 npm 安装的库
import './assets/scripts/custom.js'; // 自定义 JS

3. 在 index.html 里引入 public/ 里的 JS

对于 public/libs/ 目录下的文件,可以在 index.html 里手动引入:

html复制编辑<script src="/libs/adminlte.min.js"></script>

注意public/ 目录下的文件不会被 Vite 处理,路径必须用 / 开头。

总结

  • 全局 CSS/JS 放在 src/assets/
  • 组件相关 CSS/JS 直接写在 src/components/
  • 第三方库(npm 无法安装的) 放在 public/libs/
  • main.js 里引入 CSS/JS,以便 Vite 处理
  • public/ 目录下的文件用 <script><link> 手动引入

这样做可以让 Vite 充分优化资源加载,同时保持代码结构清晰!

Avatar photo

sion932