如何将 jQuery 安装到 Nuxt.js 中?

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。

kis*_*ssu 6

我不建议将 jQuery 添加到 Nuxt 项目中。


但如果您确实愿意,可以按照以下步骤操作:

  • 安装它yarn add jquery
  • 将它们添加到您的nuxt.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)