Dva: Le fichier cible développé et construit avec dva est très volumineux (1,3M).Je ne sais pas comment réduire la taille du package ?

Créé le 13 déc. 2016  ·  5Commentaires  ·  Source: dvajs/dva

Bonjour!

J'utilise récemment dva pour le développement et je suis très reconnaissant aux auteurs de dva pour leur travail acharné ~
Le problème que j'ai rencontré en ce moment est qu'il n'y a pas beaucoup de fichiers de projet, mais le package packagé est très volumineux (index.js a atteint 1,3 Mo). Je ne sais pas si dva build peut prendre en charge la division du projet en plusieurs entrées et la division des pages par fonction ?

question

Commentaire le plus utile

Les modules correspondants peuvent être introduits à la demande, par exemple, seuls 折线图 , 柱状图 , 饼图 introduits comme suit :


// ==== 以下必须引入 ====
// core
import echarts from 'echarts/lib/echarts'
// for ie8
//import 'zrender/lib/vml/vml'
// 柱状图
import 'echarts/lib/chart/bar'
// 折线图
import 'echarts/lib/chart/line'
// 饼图
import 'echarts/lib/chart/pie'

// ==== 以下不引入也可以,只是没效果,也不会报错 ====
// tooltip
import 'echarts/lib/component/tooltip'
// legend
import 'echarts/lib/component/legend'
// title
import 'echarts/lib/component/title'


echarts.init(...)

Ce qui est plus embêtant, c'est que ces modules ne sont pas des dépendances fortes.Vous constaterez que certains modules n'ont aucun effet s'ils ne sont pas introduits, et certains modules auront un message d'erreur lors du rendu, nécessitant l'introduction de modules spécifiques.

Bien sûr, il est plus facile d'écrire un plugin babel. . . . .

Tous les 5 commentaires

Publiez votre package.json

@nikogu Ci-dessous mon package.json

 {
  "private": true,
  "entry": {
    "index": "./src/index.js"
  },
  "peerDependencies": {
  },
  "dependencies": {
    "antd": "^2.4.3",
    "dva": "^1.1.0",
    "echarts": "^3.3.1",
    "echarts-for-react": "^1.1.6",
    "moment-timezone": "^0.5.10",
    "path-to-regexp": "^1.7.0",
    "qs": "^6.3.0",
    "react": "^15.3.2",
    "react-dom": "^15.3.2",
    "reqwest": "^2.0.5"
  },
  "devDependencies": {
    "atool-build": "^0.9.0",
    "atool-test-mocha": "^0.1.5",
    "babel-plugin-dev-expression": "^0.2.1",
    "babel-plugin-dva-hmr": "^0.2.0",
    "babel-plugin-import": "^1.1.0",
    "babel-plugin-transform-runtime": "^6.9.0",
    "babel-runtime": "^6.9.2",
    "dora": "^0.4.3",
    "dora-plugin-proxy": "^0.8.4",
    "dora-plugin-webpack": "^0.8.1",
    "dora-plugin-webpack-hmr": "^0.2.1",
    "expect": "^1.20.2",
    "redbox-react": "^1.3.2"
  },
  "scripts": {
    "start": "dora --plugins \"proxy?watchDirs=./mock,webpack?port=8000,webpack-hmr\"",
    "build": "atool-build",
    "test": "atool-test-mocha ./src/**/*-test.js"
  }
}

J'ai créé le projet avec dvacli

dva new myproject

echarts est déjà gros

Le site officiel de

Les modules correspondants peuvent être introduits à la demande, par exemple, seuls 折线图 , 柱状图 , 饼图 introduits comme suit :


// ==== 以下必须引入 ====
// core
import echarts from 'echarts/lib/echarts'
// for ie8
//import 'zrender/lib/vml/vml'
// 柱状图
import 'echarts/lib/chart/bar'
// 折线图
import 'echarts/lib/chart/line'
// 饼图
import 'echarts/lib/chart/pie'

// ==== 以下不引入也可以,只是没效果,也不会报错 ====
// tooltip
import 'echarts/lib/component/tooltip'
// legend
import 'echarts/lib/component/legend'
// title
import 'echarts/lib/component/title'


echarts.init(...)

Ce qui est plus embêtant, c'est que ces modules ne sont pas des dépendances fortes.Vous constaterez que certains modules n'ont aucun effet s'ils ne sont pas introduits, et certains modules auront un message d'erreur lors du rendu, nécessitant l'introduction de modules spécifiques.

Bien sûr, il est plus facile d'écrire un plugin babel. . . . .

Cette page vous a été utile?
0 / 5 - 0 notes