导入echarts.js提示require/define is not defined.


mvc+ jquery + echarts ;

我是执行的单文件导入(WebContent/WEB-INF/js/echarts.js),在index.jsp中加载该文件,并提供了dom

<div id="cloggingChart" style="height: 500px;border: 1px solid #ccc ;padding: 10px;"></div>

在执行加载js时,<script type="text/javascript">

 require.config({
       paths:{
            echarts:'./js/echarts',
            'echarts/chart/bar' : './js/echarts-map',
            'echarts/chart/line': './js/echarts-map',
            'echarts/chart/map' : './js/echarts-map'
       }
  });

 require(
      [
           'echarts',
           'echarts/chart/bar',
           'echarts/chart/line',
           'echarts/chart/map'
      ],

      ..........

      myChart.setOption(option);
      }
 );

部署启动该项目之后,访问index.jsp,chrome提示“Uncaught ReferenceError:define is not defined(anonymous function)” ;"Uncaught ReferenceError:requre is not defined(anonymous function)".不知谁遇到过这个问题,该如何解决?

requiredefine echarts map defined 导入 gt js chart 提示 echartsjs jquery JSP

flyfish None

你是有可能是直接引用了项目文件<script src="./src/echarts.js"></script>,这不是模块化的方式,所以浏览器也就很直接报错误

Uncaught ReferenceError: define is not defined echarts.js:18
Uncaught ReferenceError: require is not defined test.html:13

前一个是说define方法没有导入, 后一个是说require方法没有导入。

问题的关键有可能是<script src="./statics/js/echarts/esl.js"></script>没有导入,这是因为echarts是架设在efe团队的esl框架基础上的, 文档里面没有讲明白。 导入后,你有可能还缺少zrenderECharts是基于zrender这个html5画图组件。如果没有,需要去下载。 zrender的地址是: http://ecomfe.github.io/zrender/

bbokay answered 9 years, 2 months ago

Your Answer