如何解决此错误“未捕获的语法错误:无法在Laravel 8中的模块”“外部使用import语句,该模块带有Chart consoletvs/charts:7,

iszxjhcz  于 2023-01-10  发布在  其他
关注(0)|答案(2)|浏览(139)

我已经按照[ www.example.com top1]中的所有步骤操作https://chartisan.dev/documentationip。使用CDN链接一切正常,我可以加载任何图表。

<script src="https://unpkg.com/chart.js@2.9.3/dist/Chart.min.js"></script>
<script src="https://unpkg.com/@chartisan/chartjs@^2.1.0/dist/chartisan_chartjs.umd.js"></script>

但是我不会使用CDN链接,所以我删除了上面的两行,并使用npm install chart.js@chartisan/chartjs安装了前端适配器,以便能够在没有CDN的情况下使用chart,下面是我的代码

<div id="chart" style="height: 300px;"></div>

<script>
    import { Chartisan, ChartisanHooks } from '@chartisan/chartjs'//This is the problem
    const chart = new Chartisan({
          el: '#chart',
          url: "@chart('sample_chart')",
          hooks: new ChartisanHooks()
          .beginAtZero()
          .colors()
          .datasets('doughnut')
          });
  </script>

当我运行我有这个错误:

Uncaught SyntaxError: Cannot use import statement outside a module
u91tlkcl

u91tlkcl1#

您需要将它们导入app.js中,而不是视图中。

2w3rbyxf

2w3rbyxf2#

您需要在app.js中执行以下操作

import {Chartisan, ChartisanHooks} from '@chartisan/chartjs';
window.Chartisan= Chartisan;
window.ChartisanHooks= ChartisanHooks;

然后在你的.blade文件中,你只需要像这样直接使用Chartisan和ChartisanHooks

<div id="chart" style="height: 300px;"></div>

<script>
       const chart = new Chartisan({
          el: '#chart',
          url: "@chart('sample_chart')",
          hooks: new ChartisanHooks()
          .beginAtZero()
          .colors()
          .datasets('doughnut')
          });
  </script>

请确保您正确地将app.js文件包含在.blade文件中。它应该可以工作。

相关问题