vue3打包时如何通过cdn引入echarts

vue3打包时如何通过cdn引入echarts

一、vue.config.js中配置

const { defineConfig } = require('@vue/cli-service')
//-------------------新增-------------------------
let cdn = { css: [], js: [] }
// 通过环境变量 来区分是否使用cdn
const isProd = process.env.NODE_ENV === 'development' // 判断是否是生产环境
let externals = {}
if (isProd) {
  // 如果是生产环境 就排除打包 否则不排除
  externals = {
    // key(包名) / value(这个值 是 需要在CDN中获取js, 相当于 获取的js中 的该包的全局的对象的名字)
    echarts: 'echarts',
  }
  cdn = {
    css: [], // 放置css文件目录
    js: [
      'https://cdn.bootcdn.net/ajax/libs/echarts/5.4.3/echarts.common.js', // vuejs
    ], // 放置js文件目录
  }
}
//--------------------------------------------
module.exports = defineConfig({
  lintOnSave: false,
  transpileDependencies: true,
  devServer: {
    client: {
      overlay: false,
    },
  },
  //------------------新增--------------------------
  configureWebpack: {
    externals: externals,
  },
  chainWebpack(config) {
    config.plugin('html').tap((args) => {
      args[0].cdn = cdn
      return args
    })
  },
  //--------------------------------------------
})

二、public下index.html中

<body>
    <div id="app"></div>
    <!-- 引入JS -->
    <% for(var js of htmlWebpackPlugin.options.cdn.js) { %>
    <script src="<%=js%>"></script>
    <% } %>
  </body>
对于使用CDN引入ECharts的问题,有几种方法可以实现。首先,你可以在需要使用ECharts的界面中添加以下代码来引入EChartsCDN链接: ```html <script src="https://cdn.jsdelivr.net/npm/echarts@5.3.1/dist/echarts.js"></script> ``` 这样就可以直接在页面中使用ECharts了。另外,你也可以在index.html文件中引用EChartsCDN链接,例如: ```html <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script> ``` 这样在整个项目中都可以使用ECharts了。需要注意的是,如果你使用的是较高版本的ECharts,可能需要使用`import * as echarts from 'echarts'`的方式来引入,以避免报错。另外,你还可以使用独立版本的ECharts进行外部引入。希望这些方法可以帮助到你。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [vue项目echarts通过cdn或npm引入](https://blog.csdn.net/weixin_46115723/article/details/114870484)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Vue解决CDN引入echarts,通过ajax异步请求的数据不能被正确渲染到视图层的问题](https://blog.csdn.net/m0_52309519/article/details/123757259)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [echarts引入的几种方式](https://blog.csdn.net/weixin_50606255/article/details/116528893)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gik99

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值