题主Vue小白,入门demo时想在其中使用jQuery(当然可能是不推荐的做法哈,毕竟俩儿的风格不一样,但万一你就需要呢 _^ ^_),结果遇到问题,最终倒腾解决。
编译报错:
假设你已经使用vue-cli搭建好了开发的脚手架,接下来,看下面。
1.NPM 安装 jQuery,项目根目录下运行以下代码
rush:js;">
npm install jquery --save
2.webpack配置
在项目根目录下的build目录下找到webpack.base.conf.js文件,在开头使用以下代码引入webpack,因为该文件默认没有引用。
rush:js;">
var webpack = require('webpack')
然后在module.exports中添加一段代码,
rush:js;">
// 原有
代码
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
rush:js;">
import 'jquery'
在Vue组件里使用 $ or jQuery 写了操作dom的代码
接着启动项目
rush:js;">
npm run dev
但是编译却报错了:
rush:js;">
http://eslint.org/docs/rules/no-undef '$' is not defined or
http://eslint.org/docs/rules/no-undef 'jQuery' is not defined
咋回事呢???
3.eslint 检查
机智的朋友肯定想到跟eslint有关,没错,这时候需要做的下一步就是要修改根目录下.eslintrc.js文件了,在改文件的module.exports中,为env添加一个键值对
rush:js;">
env: {
// 原有
browser: true,//
添加
jquery: true
}
再次 npm run dev ,OK了,没报错,赶紧去组件里试一下吧,console.log($('选择器')) ,你会发现成功使用jQuery获取到了DOM。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。