问题描述
今天在nuxt中需要用
element-china-area-data插件来获取省市区数据 然后我就用正常的那种导入 就一直报windows is not defined的错误
在网上找了好多方法 说什么去执行文件设置这 设置那 发现都没有得到解决 人嘛了都~ 下面这张图是代码编辑器控制台报的错误 :
然后又有博主说用 require('element-china-area-data')这样导入 但是又报require is not defined错误
所以以上解决方案都不行
原因分析:
可以看到哪里说window is not defined 下面就说什么文件报错了
如果我们像正常这样导入:
import { CodeTotext } from 'element-china-area-data'
发现没效果还报上面那些错误 分析:浏览器不支持cjs 文件 服务端要编译,服务端没有window属性
解决方案:
我们把上面的导入方式换成下面这种 这里我们需要判断一下 导入的方式 我在网上看 他们都叫用require 这个导入 后来问了一个大佬朋友 就给了这个导入方法
if (process.client){ await import('模块名') //let res=await import('模块名') }
这样就完美的解决了那些报错 虽然就一行代码的事 但是网上很多答案都很绕脑 🙅