Bootstrap的布局和jQuery的节点操作作用在vue中
- 安装
npm install jquery --save
- 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
- eslint 检查
机智的朋友肯定想到跟eslint有关,没错,这时候需要做的下一步就是要修改根目录下.eslintrc.js文件了,在改文件的module.exports中,为env添加一个键值对 jquery: true 就可以了,也就是:
env: {
// 原有
browser: true,
// 添加
jquery: true
}
再次 npm run dev
,OK了,没报错,赶紧去组件里试一下吧,console.log($('选择器'))
,你会发现成功使用jQuery获取到了DOM。
- 引入bootstrap(先将文件拉入assets文件夹下)
//...
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
//添加代码
'assets': path.resolve(__dirname, '../src/assets'),
'jquery': "jquery/src/jquery"
}
}
//...
然后再main.js下引入
import './assets/css/bootstrap.min.css'
import './assets/js/bootstrap.min'
这样基本就结束了,快去体验一下吧!