Dva: O arquivo alvo desenvolvido e construído com dva é muito grande (1,3M), não sei como diminuir o tamanho do pacote?

Criado em 13 dez. 2016  ·  5Comentários  ·  Fonte: dvajs/dva

Olá!

Estou usando o dva para desenvolvimento recentemente e sou muito grato aos autores do dva por seu trabalho árduo ~
O problema que encontrei no momento é que não há muitos arquivos de projeto, mas o pacote empacotado é muito grande (index.js atingiu 1,3 MB). Não sei se o dva build pode suportar a divisão do projeto em várias entradas e a divisão de páginas por função.

question

Comentários muito úteis

Módulos correspondentes podem ser introduzidos sob demanda, por exemplo, apenas 折线图 , 柱状图 , 饼图 introduzidos da seguinte forma:


// ==== 以下必须引入 ====
// 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(...)

O que é mais irritante é que esses módulos não são dependências fortes.Você vai descobrir que alguns módulos não têm efeito se não forem introduzidos, e alguns módulos terão uma mensagem de erro durante a renderização, exigindo a introdução de módulos específicos.

Claro, é mais fácil escrever um plugin babel. . . . .

Todos 5 comentários

Publique o seu package.json

@nikogu Abaixo está meu 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"
  }
}

Eu criei o projeto com dvacli

dva new myproject

echarts já é grande

@codering echarts3 site oficial disse que é mais de 170k após a compressão.

Módulos correspondentes podem ser introduzidos sob demanda, por exemplo, apenas 折线图 , 柱状图 , 饼图 introduzidos da seguinte forma:


// ==== 以下必须引入 ====
// 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(...)

O que é mais irritante é que esses módulos não são dependências fortes.Você vai descobrir que alguns módulos não têm efeito se não forem introduzidos, e alguns módulos terão uma mensagem de erro durante a renderização, exigindo a introdução de módulos específicos.

Claro, é mais fácil escrever um plugin babel. . . . .

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

mclouvem picture mclouvem  ·  4Comentários

MiaoXingGua picture MiaoXingGua  ·  3Comentários

zouyan532 picture zouyan532  ·  3Comentários

sorrycc picture sorrycc  ·  3Comentários

huyawei picture huyawei  ·  3Comentários