最近项目用到vue-codemirror,百度找了好几个教程,直接用npm i vue-codemirror -save的话下载的vue-codemirror是没有codemirror.vue文件的,所以在教程中使用import codemirror from 'vue-codemirror'再注册使用会报错:template or render function not defined。原因是找不到那个vue的模板文件。还有其他各种原因,不然就是Cannot read property 'map' of undefined;等等。找的我心梗。
以下是我的安装过程,在vue2和vue3都可以用
1.npm i vue-codemirror@4.0.6
切记是带有这个codemirror.vue的
2.然后import引入注册,直接在要使用codemirror的组件引入
3.直接使用就好啦
在vue3中安装vue-codemirror的时候,因为我是直接把vue2中的codemirror复制过来,导致我每次安装新的插件都会被删掉node_modules目录下的codemirror,查看了package-json.lock才发现是codemirror文件放在了vue-codemirror里面而不是直接放在node_modules目录下。所以vue3中得改目录
另提一句,在package.json里面写的依赖会在执行npm i 或者npm uninstall时被重新更新,vue3中下载的vue-codemirror版本之前下的别的版本被写到了package.json里面,后面我是直接改package.json里面的vue-codemirrir@4.0.6就可以了