Dva: Целевой файл, разработанный и собранный с помощью dva, очень большой (1,3 МБ). Я не знаю, как уменьшить размер пакета?

Созданный на 13 дек. 2016  ·  5Комментарии  ·  Источник: dvajs/dva

Привет!

Я недавно использую dva для разработки, и я очень благодарен авторам dva за их упорный труд ~
Проблема, с которой я столкнулся на данный момент, заключается в том, что файлов проекта не так много, но упакованный пакет очень велик (index.js достиг 1,3 МБ). Я не знаю, поддерживает ли dva build разделение проекта на несколько записей и разделение страниц по функциям?

question

Самый полезный комментарий

Соответствующие модули могут быть введены по запросу, например, только 折线图 , 柱状图 , 饼图 введены следующим образом:


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

Что еще более раздражает, так это то, что эти модули не являются сильными зависимостями.Вы обнаружите, что некоторые модули не действуют, если они не представлены, а некоторые модули будут отображать сообщение об ошибке во время рендеринга, требуя введения определенных модулей.

Конечно, проще написать плагин babel. . . . .

Все 5 Комментарий

Опубликуйте свой package.json

@nikogu Ниже мой 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"
  }
}

Я создал проект с dvacli

dva new myproject

echarts уже большой

Официальный сайт @codering echarts3 сообщил, что после сжатия его размер превышает 170 КБ.

Соответствующие модули могут быть введены по запросу, например, только 折线图 , 柱状图 , 饼图 введены следующим образом:


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

Что еще более раздражает, так это то, что эти модули не являются сильными зависимостями.Вы обнаружите, что некоторые модули не действуют, если они не представлены, а некоторые модули будут отображать сообщение об ошибке во время рендеринга, требуя введения определенных модулей.

Конечно, проще написать плагин babel. . . . .

Была ли эта страница полезной?
0 / 5 - 0 рейтинги