您好,登錄后才能下訂單哦!
題主Vue小白,入門demo時(shí)想在其中使用jQuery(當(dāng)然可能是不推薦的做法哈,畢竟倆兒的風(fēng)格不一樣,但萬一你就需要呢 _^ ^_),結(jié)果遇到問題,最終倒騰解決。
編譯報(bào)錯(cuò):$ is undefined or no-undef '$' is not defined
假設(shè)你已經(jīng)使用vue-cli搭建好了開發(fā)的腳手架,接下來,看下面。
1.NPM 安裝 jQuery,項(xiàng)目根目錄下運(yùn)行以下代碼
npm install jquery --save
2.webpack配置
在項(xiàng)目根目錄下的build目錄下找到webpack.base.conf.js文件,在開頭使用以下代碼引入webpack,因?yàn)樵撐募J(rèn)沒有引用。
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里導(dǎo)入就可以了,然而題主照著做了。
main.js里導(dǎo)入jQuery
import 'jquery'
在Vue組件里使用 $ or jQuery 寫了操作dom的代碼
接著啟動(dòng)項(xiàng)目
npm run dev
但是編譯卻報(bào)錯(cuò)了:
http://eslint.org/docs/rules/no-undef '$' is not defined or http://eslint.org/docs/rules/no-undef 'jQuery' is not defined
咋回事呢???
3.eslint 檢查
機(jī)智的朋友肯定想到跟eslint有關(guān),沒錯(cuò),這時(shí)候需要做的下一步就是要修改根目錄下.eslintrc.js文件了,在改文件的module.exports中,為env添加一個(gè)鍵值對(duì) jquery: true 就可以了,也就是:
env: { // 原有 browser: true, // 添加 jquery: true }
再次 npm run dev ,OK了,沒報(bào)錯(cuò),趕緊去組件里試一下吧,console.log($('選擇器')) ,你會(huì)發(fā)現(xiàn)成功使用jQuery獲取到了DOM。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。