Dva: El archivo de destino desarrollado y construido con dva es muy grande (1.3M) ¿No sé cómo reducir el tamaño del paquete?

Creado en 13 dic. 2016  ·  5Comentarios  ·  Fuente: dvajs/dva

¡Hola!

Estoy usando dva para el desarrollo recientemente, y estoy muy agradecido con los autores de dva por su arduo trabajo ~
El problema con el que me he encontrado en este momento es que no hay muchos archivos de proyecto, pero el paquete empaquetado es muy grande (index.js ha alcanzado 1,3 MB). No sé si dva build puede admitir la división del proyecto en varias entradas y la división de páginas por función.

question

Comentario más útil

Los módulos correspondientes se pueden introducir bajo demanda, por ejemplo, solo 折线图 , 柱状图 , 饼图 introducir de la siguiente manera:


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

Lo que es más molesto es que estos módulos no son dependencias fuertes. Encontrará que algunos módulos no tienen efecto si no se introducen, y algunos módulos tendrán un mensaje de error durante el renderizado, requiriendo la introducción de módulos específicos.

Por supuesto, es más fácil escribir un complemento de babel. . . . .

Todos 5 comentarios

Publique su package.json

@nikogu A continuación se muestra mi 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"
  }
}

Creé el proyecto con dvacli

dva new myproject

echarts ya es grande

El sitio web oficial

Los módulos correspondientes se pueden introducir bajo demanda, por ejemplo, solo 折线图 , 柱状图 , 饼图 introducir de la siguiente manera:


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

Lo que es más molesto es que estos módulos no son dependencias fuertes. Encontrará que algunos módulos no tienen efecto si no se introducen, y algunos módulos tendrán un mensaje de error durante el renderizado, requiriendo la introducción de módulos específicos.

Por supuesto, es más fácil escribir un complemento de babel. . . . .

¿Fue útil esta página
0 / 5 - 0 calificaciones