Skip to main content Skip to docs navigation

Bootstrap and Vite

关于如何使用Vite在项目中包含和捆绑Bootstrap的CSS和JavaScript的官方指南。

想跳到最后吗twbs/examples存储库下载本指南的源代码和工作演示。 你也可以在StackBlitz中打开示例用于实时编辑。

安装程序

我们正在用Bootstrap从头开始构建Vite项目,所以在我们真正开始之前,有一些先决条件和前期步骤。 本指南要求你安装Node.js并熟悉终端。

  1. 创建一个项目文件夹并设置npm我们将创建my-project文件夹,并使用-y参数初始化npm,以避免它向我们提出所有交互式问题。

    mkdir my-project && cd my-project
    npm init -y
    
  2. 安装Vite与我们的Webpack指南不同,这里只有一个构建工具依赖项。 我们使用--save-dev来表示这种依赖关系仅用于开发,而不用于生产。

    npm i --save-dev vite
    
  3. 安装Bootstrap现在我们可以安装Bootstrap了。 我们还将安装Popper,因为我们的下拉菜单、弹出菜单和工具提示的定位都依赖于它。 如果你不打算使用这些组件,可以在此处省略Popper。

    npm i --save bootstrap @popperjs/core
    
  4. 安装其他依赖项除了Vite和Bootstrap,我们还需要另一个依赖项(Sass)来正确导入和捆绑Bootstrap的CSS。

    npm i --save-dev sass
    

既然我们已经安装并设置了所有必要的依赖项,我们就可以开始创建项目文件和导入Bootstrap了。

项目结构

我们已经创建了my-project文件夹并初始化了npm。 现在,我们还将创建src文件夹、样式表和JavaScript文件,以完善项目结构。 从my-project运行以下操作,或手动创建如下所示的文件夹和文件结构。

mkdir {src,src/js,src/scss}
touch src/index.html src/js/main.js src/scss/styles.scss vite.config.js

当你完成后,你的整个项目应该是这样的:

my-project/
├── src/
│   ├── js/
│   │   └── main.js
│   └── scss/
│   |   └── styles.scss
|   └── index.html
├── package-lock.json
├── package.json
└── vite.config.js

在这一点上,一切都在正确的位置,但Vite不会工作,因为我们还没有填写vite.config.js

配置Vite

安装了依赖项,我们的项目文件夹可以开始编码,现在我们可以配置Vite并在本地运行我们的项目。

  1. **在编辑器中打开vite.config.js**由于它是空白的,我们需要向它添加一些样板配置,以便启动服务器。 配置文件的这一部分告诉Vite在哪里查找我们项目的JavaScript,以及开发服务器应该如何运行(从src文件夹中取出并进行热重载)。

    import { resolve } from 'path'
    
    export default {
      root: resolve(__dirname, 'src'),
      build: {
        outDir: '../dist'
      },
      server: {
        port: 8080
      }
    }
    
  2. **接下来,我们填写src/index.html**这是Vite将在浏览器中加载的HTML页面,以利用捆绑的CSS和JS,我们将在稍后的步骤中添加到其中。

    <!doctype html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Bootstrap w/ Vite</title>
        <script type="module" src="./js/main.js"></script>
      </head>
      <body>
        <div class="container py-4 px-3 mx-auto">
          <h1>Hello, Bootstrap and Vite!</h1>
          <button class="btn btn-primary">Primary button</button>
        </div>
      </body>
    </html>
    

我们在这里使用div class="container"<button>包含了一些Bootstrap样式,这样我们就可以看到Vite何时加载Bootstrap的CSS。

  1. 现在我们需要一个npm脚本来运行Vite打开package.json并添加如下所示的start脚本(你应该已经有了测试脚本)。 我们将使用此脚本启动本地Vite-dev服务器。

    {
      // ...
      "scripts": {
        "start": "vite",
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      // ...
    }
    
  2. 最后,我们可以开始Vite在终端的my-project文件夹中,运行新添加的npm脚本:

    npm start
    
    Vite dev server running

在本指南的下一节也是最后一节中,我们将导入Bootstrap的所有CSS和JavaScript。

导入Bootstrap

  1. 导入Bootstrap的CSS将以下内容添加到src/scss/styles.scss以导入Bootstrap的所有源Sass。

    // Import all of Bootstrap's CSS
    @import "bootstrap/scss/bootstrap";
    

如果需要,你也可以单独导入我们的样式表。阅读我们的Sass导入文档 了解详细信息

  1. 接下来,我们加载CSS并导入Bootstrap的JavaScript将以下内容添加到src/js/main.js以加载CSS并导入Bootstrap的所有js。 Popper将通过Bootstrap自动导入。

    // Import our custom CSS
    import '../scss/styles.scss'
    
    // Import all of Bootstrap's JS
    import * as bootstrap from 'bootstrap'
    

你还可以根据需要单独导入JavaScript插件,以降低捆绑包大小:

import Alert from 'bootstrap/js/dist/alert';

// or, specify which plugins you need:
import { Tooltip, Toast, Popover } from 'bootstrap';

阅读我们的JavaScript文档 了解有关如何使用Bootstrap插件的更多信息 3. ** 大功告成!🎉**Bootstrap的源代码Sass和JS已经完全加载,你的本地开发服务器现在应该是这样的。

Vite dev server running with Bootstrap

现在,你可以开始添加你想要使用的任何引导组件。 一定要查看完整的Vite示例项目了解如何包括额外的自定义Sass,并通过只导入Bootstrap的CSS和JS中你需要的部分来优化你的构建。


See something wrong or out of date here? Please open an issue on GitHub. Need help troubleshooting? Search or start a discussion on GitHub.