美文网首页我爱编程
Vue 中使用 jQuery

Vue 中使用 jQuery

作者: Yann001 | 来源:发表于2017-05-13 22:13 被阅读0次

    题主Vue小白,入门demo时想在其中使用jQuery(当然可能是不推荐的做法哈,毕竟俩儿的风格不一样,但万一你就需要呢 _^ ^_),结果遇到问题,最终倒腾解决。

    报错:$ is undefined or no-undef '$' is not defined

    假设你已经使用vue-cli搭建好了开发的脚手架,接下来,看下面。。。

    1. NPM 安装 jQuery,项目根目录下运行以下代码
    npm install jquery --save
    
    1. webpack配置
      在项目根目录下的build目录下找到webpack.base.conf.js文件,在开头使用以下代码引入webpack,因为该文件默认没有引用,
    var webpack = require('webpack')
    

    然后在module.exports中添加一段代码,

    // 原有代码
    resolve: {
        extensions: ['.js', '.vue', '.json'],
        alias: {
          'vue$': 'vue/dist/vue.esm.js',
          '@': resolve('src')
        }
      },
    // 添加代码
    plugins: [
        new webpack.ProvidePlugin({
            $: "jquery",
            jQuery: "jquery",
            jquery: "jquery",
            "window.jQuery": "jquery"
        })
      ],
    // 原有代码
    module: {
        rules: [
          // ......
        ]
    }
    

    然后许多其他解决办法到此就说在main.js里导入就可以了,然而题主照着做了。
    main.js里导入jQuery

    import 'jquery'
    

    在Vue组件里使用 $ or jQuery 写了操作dom的代码
    接着启动项目

    npm run dev
    

    但是编译却报错了:

    http://eslint.org/docs/rules/no-undef '$' is not defined or
    http://eslint.org/docs/rules/no-undef 'jQuery' is not defined
    

    咋回事呢???

    1. eslint 检查
      机智的朋友肯定想到跟eslint有关,没错,这时候需要做的下一步就是要修改根目录下.eslintrc.js文件了,在改文件的module.exports中,为env添加一个键值对 jquery: true 就可以了,也就是:
    env: {
        // 原有
        browser: true,
        // 添加
        jquery: true
    }
    

    再次 npm run dev ,OK了,没报错,赶紧去组件里试一下吧,console.log($('选择器')) ,你会发现成功使用jQuery获取到了DOM。

    相关文章

      网友评论

        本文标题:Vue 中使用 jQuery

        本文链接:https://www.haomeiwen.com/subject/ktdfxxtx.html