Nuxt导入highcharts仅用于客户端

bvjxkvbb  于 2022-11-10  发布在  Highcharts
关注(0)|答案(1)|浏览(217)

在我的vue应用程序中,我的组件中有以下导入

import Highcharts from "highcharts";
import treemapInit from "highcharts/modules/treemap";
treemapInit(Highcharts);

现在我有了nuxt,我只需要为客户端导入这个部分,因为它在服务器端失败并出现错误。
如何做到这一点?请不要建议我Nuxt插件,因为我想使用它本地由于性能.
谢谢你!

3vpjnl9f

3vpjnl9f1#

代码执行两次--在服务器端,然后在客户端。第一次运行在缺少window的环境中完成,导致Highcharts被加载,但没有初始化。修复方法是将所有模块初始化到if中,检查Highcharts是对象还是函数。它应该是模块初始化的对象:

import Highcharts from "highcharts";
import treemapInit from "highcharts/modules/treemap";

if (typeof Highcharts === "object") {
  treemapInit(Highcharts);
}

**文档:**https:github.com/highcharts/highcharts-vue#readme
类似线程:https://github.com/highcharts/highcharts-vue/issues/73

相关问题