问题描述:
安装了vant 3以上版本,在vue2引入vant组件库不生效,报错:
ERROR in ./node_modules/@vant/use/dist/index.esm.mjs 101:12-19
export 'isVNode' (imported as 'isVNode') was not found in 'vue'
解决方法:
卸载后重装 vant2.12.2即可
vant2 自动按需引入
vant2的官方文档:
1. 安装插件:babel-plugin-import -D
npm i babel-plugin-import -D
或 yarn add babel-plugin-import -D
2.配置
根据自己的实际情况配置,我是第二种
// 在.babelrc 中添加配置
// 注意:webpack 1 无需设置 libraryDirectory
{
"plugins": [
["import", {
"libraryName": "vant",
"libraryDirectory": "es",
"style": true
}]
]
}
// 对于使用 babel7 的用户,可以在 babel.config.js 中配置
module.exports = {
plugins: [
['import', {
libraryName: 'vant',
libraryDirectory: 'es',
style: true
}, 'vant']
]
};
3.注册
根据自己所需,选择其中一种方式注册
3.1 全局注册
在main.js 里引入并注册所需的vant组件
import {Button} from 'vant'
Vue.use(Button)//全局注册
3.2 在所需页面注册
<script>
import {Button} from 'vant'
export default {
// 注册组件
components:{
vanButton:Button
}
}
</script>