jquery - scrollspy,工具提示在 express 应用程序中不起作用
问题描述
我第一次开发我的快递应用程序,很多奇怪的事情发生在我身上。我正在尝试使用 scrollspy 和工具提示引导功能,但由于某种原因它们不起作用。我收到 2 条错误消息:
jquery.js:3841 jQuery.Deferred exception: $(...).scrollspy is not a function TypeError: $(...).scrollspy is not a function
和
Uncaught TypeError: $(...).scrollspy is not a function
工具提示也是如此。
我想在这里向您展示我的设置,以便您发表评论。
我正在使用车把,在我的 main.hbs 中有这个
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>{{title}}</title>
<link rel="stylesheet" href="/css/main.css">
</head>
<body>
{{> _msg}}
{{{body}}}
<script src="/dist/vendor.bundle.js" charset="utf-8"></script>
<script src="/dist/main.bundle.js" charset="utf-8"></script>
</body>
</html>
我正在使用 webpack,配置是这样的
const path = require('path')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports = {
mode:"development",
entry:{
main:'./src/scripts/script.js',
vendor:'./src/scripts/vendor.js'
},
output: {
path:path.join(__dirname,'/public/dist'),
filename:'[name].bundle.js'
},
devtool:'source-map',
module:{
rules:[
{
test: /\.(png|jpe?g|svg)$/,
use: [
{
loader: 'file-loader',
options: {
name:"../images/[name].[ext]"
}
}
]
},
{
test:/\.hbs$/,
use:'handlebars-loader'
},
{
test:/\.scss$/,
use:[
MiniCssExtractPlugin.loader,
{
loader:'css-loader',
options:{sourceMap:true}
},
{
loader:'sass-loader',
options:{sourceMap:true}
}
]
},
{
test:/\.js$/,
exclude:/node_modules/,
use:[
{
loader:'babel-loader',
options:{
presets:['@babel/env'],
plugins:['transform-class-properties']
}
}
]
}
]
},
plugins:[
new MiniCssExtractPlugin({
filename:'../css/[name].css'
})
]
}
在我的 src/scripts/vendor.js 我只有这个
import "bootstrap"
在我的 src/scripts/script.js 我有所有的 jquery 和 js 我想在页面上使用
require('../scss/style.scss')
let helper = require('./functions')
const $ = require('jquery')
$(document).ready(function(){
$('body').scrollspy({ target: '#sideMenu'})
$('[data-toggle="tooltip"]').tooltip(
{
placement:"bottom",
delay: {show: 100, hide: 100},
boundary: 'window'
}
);
});
然后我有一个名为 details.hbs 的页面,其中我有 id=sideMenu 的 div 但是当我转到此页面时,scrollspy 无法正常工作,并且出现了我之前描述的错误。
页面 results.hbs 也是如此,我想在将鼠标悬停在图标上时显示一些工具提示
<img src="/images/detail.svg" title="some title." class="tooltipImg mr-2" data-toggle="tooltip">
解决方案
实际上我只是想念 bootstrap.bundle.min.js。我很困惑,因为我有
import "bootstrap"
在 src/scripts/vendor.js 文件中,我认为这也会导入 bundle.js
推荐阅读
- python - 当相机之间的角度太高时,OpenCV Stereo Image Rectification 无法正常工作
- javascript - pdf用白页呈现
- spring - 如何在 Spring Camel ActiveMQ 配置中提供用户名密码
- javascript - 如何正确更改反应中的复选框?
- mpi - 我可以将两个单独的可执行文件与 MPI_open_port 链接并在文本文件中共享端口信息吗?
- regex - 需要正则表达式来拒绝重复
- perl - 使用 WWW:Mechanize 登录并下载 perl 脚本中的文件,但无法进入实际页面内容
- java - Java程序在文件夹之间拆分
- yaml - 如何在 dotenv 文件中使用 (*) 等特殊字符
- c# - 方法表是在堆栈还是堆中分配的?