前端学习笔记(脚手架构建的vue项目中引入jquery和bootstrap)

1、引入jquery

1.1、下载依赖

cnpm install jquery --save-dev

1.2、修改 build/webpack.base.conf.js 配置文件

  • 加入 webpack 对象
var webpack = require('webpack')

  • 在 module.exports 里面加入:
plugins: [
    new webpack.ProvidePlugin({
      $: "jquery",
      jQuery: "jquery",
      jquery: "jquery",
      "window.jQuery": "jquery",
      Popper: ['popper.js', 'default']
    })
  ],

1.3、在入口文件 main.js 中加入:

import $ from 'jquery'

如果遇到 报错 '$' is defined but never used  可参考解决方案:点击这里

2、引入bootstrap

2.1、下载bootstrap依赖

cnpm install bootstrap@3 --save-dev

下载依赖后可能会有提示:peerDependencies WARNING bootstrap@* requires a peer of popper.js@^1.14.7 but none was installed

需要安装 popper.js 1.14.7版本的依赖,执行下面命令下载依赖即可:

如果没有提示则忽略这一步。

cnpm i popper.js@1.14.7 -S  # -S表示保存到当前项目的依赖里去

2.2、在入口文件 main.js 中引入bootstrap

import 'bootstrap/dist/css/bootstrap.min.css'
import 'bootstrap/dist/js/bootstrap.min.js'

//字体根据自己需要引入
import 'bootstrap/dist/fonts/glyphicons-halflings-regular.eot'
import 'bootstrap/dist/fonts/glyphicons-halflings-regular.svg'
import 'bootstrap/dist/fonts/glyphicons-halflings-regular.ttf'
import 'bootstrap/dist/fonts/glyphicons-halflings-regular.woff'
import 'bootstrap/dist/fonts/glyphicons-halflings-regular.woff2'

3、测试是否引入成功

从bootstrap官网随便复制一段代码,我这里复制一下分页的代码放到项目中去:

<nav aria-label="Page navigation">
      <ul class="pagination">
        <li>
          <a href="#" aria-label="Previous">
            <span aria-hidden="true">&laquo;</span>
          </a>
        </li>
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
        <li><a href="#">4</a></li>
        <li><a href="#">5</a></li>
        <li>
          <a href="#" aria-label="Next">
            <span aria-hidden="true">&raquo;</span>
          </a>
        </li>
      </ul>
    </nav>

使用 npm run dev 运行项目。

可能会报警告:{ parser: "babylon" } is deprecated; we now treat it as { parser: "babel" }.

请参考解决方式:点击这里

 

最后  如果一切像预料的那样显示,那么说明引入成功了。

 

### 解决 Bootstrap 报错问题 #### 1. jQuery Validation 插件与 Bootstrap 4 的兼容性调整 当使用 jQuery 验证插件时,可能需要修改 `errorPlacement`、`highlight` `unhighlight` 方法来适配 Bootstrap 4 的样式[^1]。以下是实现方法: ```javascript $("#yourForm").validate({ errorClass: "is-invalid", validClass: "is-valid", errorElement: "div", errorPlacement: function (error, element) { error.addClass('invalid-feedback'); if (element.prop("type") === "checkbox") { error.insertAfter(element.parent("label")); } else { error.insertAfter(element); } }, highlight: function (element, errorClass, validClass) { $(element).addClass(errorClass).removeClass(validClass); }, unhighlight: function (element, errorClass, validClass) { $(element).removeClass(errorClass).addClass(validClass); } }); ``` 通过上述配置,可以使错误提示信息以 Bootstrap 提供的 `.invalid-feedback` 类显示。 --- #### 2. Laravel 中引入 Bootstrap 出现的问题 如果在 Laravel 项目中遇到无法正常加载 Bootstrap 的情况,可能是由于 Webpack 或其他依赖未正确安装所致[^2]。可以通过以下方式解决问题: - **重新安装依赖** 运行命令: ```bash npm install bootstrap jquery popper.js --save ``` - **更新 Webpack 配置** 确保 `resources/js/bootstrap.js` 文件中有如下内容: ```javascript try { window.Popper = require('popper.js').default; window.$ = window.jQuery = require('jquery'); require('bootstrap'); } catch (e) {} ``` - **运行开发服务器** 使用以下命令启动热重载服务: ```bash npm run hot ``` 如果仍然存在问题,可以尝试清理缓存并重建资源: ```bash rm -rf node_modules/ npm cache clean --force npm install && npm run dev ``` --- #### 3. Dropdown 组件缺少 Popper.js 支持 Bootstrap 的下拉菜单组件依赖于 Popper.js 来计算位置动态渲染效果。如果没有正确加载 Popper.js,则会触发类似 “Bootstrap’s dropdowns require Popper.js” 的警告或错误消息[^3]。 解决办法是在 HTML 页面中显式引入 Popper.js 库: ```html <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2/dist/umd/popper.min.js"></script> ``` 或者将其作为 NPM 包安装到项目中: ```bash npm install @popperjs/core ``` 随后,在 JavaScript 文件中导入它: ```javascript import { createPopper } from '@popperjs/core'; window.createPopper = createPopper; // 可选操作 require('bootstrap'); ``` --- #### 4. 其他常见原因及排查方案 除了以上提到的情况外,还可能存在以下几种常见的报错场景及其对应的解决方案[^4]: - **CSS 资源丢失** 检查是否已成功加载 Bootstrap CSS 文件。通常情况下,应该有类似的 `<link>` 标签存在于页面头部区域: ```html <link rel="stylesheet" href="/path/to/bootstrap.css"> ``` - **JavaScript 功能失效** 确认所有必要的脚本均已按顺序加载完成。例如,jQuery 必须先于 Bootstrap 加载: ```html <script src="https://code.jquery.com/jquery-3.6.0.slim.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.bundle.min.js"></script> ``` - **版本冲突** 不同版本之间的 API 差异可能导致功能异常。建议统一升级至最新稳定版,并查阅官方文档确认所需依赖项。 --- ### 总结 针对 Bootstrap 报错问题,需逐一分析具体表现形式以及上下文环境。无论是前端框架集成还是后端模板引擎调用,都应遵循标准流程逐步排除潜在隐患。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值