我已经使用Vue-CLI在vuejs中创建了一个项目。我已经将echarts的版本从4.1.0更新到了4.2.0-rc.2。更新后,会发生以下错误:
在“ echarts / lib / echarts”中找不到“导出'默认'(导入为'echarts')
TypeError:无法分配为仅读取对象“#”的属性“ exports”
在更新echarts软件包之前,这是我的代码
vue.config.js文件
const path = require('path');
const webpack = require('webpack');
module.exports = {
baseUrl: process.env.NODE_ENV == 'production' ? '/' : '/',
transpileDependencies: [
/\bvue-echarts\b/,
/\bresize-detector\b/
],
configureWebpack: {
plugins: [
//jquery plugin
new webpack.ProvidePlugin({
$: 'jquery',
jquery: 'jquery',
'window.jQuery': 'jquery',
jQuery: 'jquery'
})
]
}
}
更新echarts版本后,我用以下几行替换了一些代码行:
transpileDependencies: [
/\/node_modules\/vue-echarts\//,
/\/node_modules\/resize-detector\//
],
在更新这些行时,我已经解决了第一个错误。但是在echarts页面中,控制台中会出现以下错误:
已安装的挂钩中出现错误:“错误:组件series.bar不存在。请首先加载它。”
这是我的条形图文件:
<template>
<ECharts :options="bar" style="width:100%; height:300px"></ECharts>
</template>
<script>
import ECharts from "vue-echarts/components/ECharts.vue";
import "echarts/lib/chart/bar";
import "echarts/lib/component/title";
import { ChartConfig } from "Constants/chart-config";
export default {
components: {
ECharts
},
data() {
return {
bar: {
tooltip: {
trigger: "axis"
},
color: [ChartConfig.color.danger],
legend: {
data: ["Series A"]
},
xAxis: {
type: "category",
boundaryGap: true,
data: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul"]
},
yAxis: {
type: "value",
axisLabel: {
formatter: "{value} K"
}
},
series: [
{
name: "Series A",
type: "bar",
data: [11, 11, 15, 13, 12, 13, 10]
}
]
}
};
}
};
</script>
如何删除这些错误。有关更多信息,请告诉我。 谢谢!
答案 0 :(得分:0)
我最终得到了解决方案,因为我们不能混合使用commonjs和ES模块,所以发生了此错误。为了解决这个问题,我更新了babel.config.js文件:
// babel.config.js
module.exports = {
presets: [
["@vue/app", {
modules: "commonjs"
}]
]
};
通过添加以上代码,您所有的ES模块代码都将被转换为commonjs,然后传递给webpack进行编译。