Ste*_*eve 1 javascript jquery vue.js vuejs2 nuxt.js
我试图在我的项目中添加 jQuery,尽管我收到一个错误,指出它未定义
plugins: [
{ src: '~/plugins/js/svgSprite.js', mode: 'client' },
{ src: '~/plugins/vendor/jquery/jquery.min.js', mode: 'client' },
{ src: '~/plugins/vendor/bootstrap/js/bootstrap.bundle.min.js', mode: 'client' },
{ src: '~/plugins/vendor/bootstrap-select/js/bootstrap-select.min.js', mode: 'client' }, <-- gives me error
{ src: '~/plugins/vendor/magnific-popup/jquery.magnific-popup.min.js', mode: 'client' },
{ src: '~/plugins/vendor/smooth-scroll/smooth-scroll.polyfills.min.js', mode: 'client' },
{ src: '~/plugins/vendor/object-fit-images/ofi.min.js', mode: 'client' },
{ src: '~/plugins/js/theme.js', mode: 'client' }
],
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,我显然是在 bootstrap-select 之前声明了 jQuery。
我不建议将 jQuery 添加到 Nuxt 项目中。
但如果您确实愿意,可以按照以下步骤操作:
yarn add jquerynuxt.config.js文件中import webpack from 'webpack'
export default {
// ...
build: {
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery'
})
]
},
}
Run Code Online (Sandbox Code Playgroud)
.eslintrc.js文件中有以下内容module.exports = {
// ...
env: {
// ...
commonjs: true,
jquery: true
},
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以像这样在method或类似的情况下使用它
$("h2").addClass("tasty-class")
Run Code Online (Sandbox Code Playgroud)