首页 > 解决方案 > Angular Chart.js - 删除 Moment.js 作为依赖项/减小包大小

问题描述

我正在Chart.js使用Angualar 7.

但是Chart.js我的包大小增加了大约 450KB。通过其他资源我发现,这Moment.js是大尺寸的主要因素。

"chart.js": {
      "version": "2.7.3",
      "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.7.3.tgz",
      "integrity": "sha512-3+7k/DbR92m6BsMUYP6M0dMsMVZpMnwkUyNSAbqolHKsbIzH2Q4LWVEHHYq7v0fmEV8whXE0DrjANulw9j2K5g==",
      "requires": {
        "chartjs-color": "^2.1.0",
        "moment": "^2.10.2"
      }
    },

我想知道如何moment.js从依赖项中删除,以便减少捆绑包的大小。

Mybe 有一种方法可以只导入我真正使用的内容 fromChart.js吗?

标签: angulardependencieschart.jsmomentjsangular7

解决方案


您可以导入独立版本 - 不与以下行捆绑:

import Chart from 'chart.js/dist/Chart.js'

或者在 web.config 中设置别名:

resolve: {
    alias: {
      'chart.js': 'chart.js/dist/Chart.js'
    }
}

或安装未捆绑 moment.js 的 Angular ChartJS:

https://github.com/emn178/angular2-chartjs


推荐阅读