Dva: File target yang dikembangkan dan dibangun dengan dva sangat besar (1.3M).Saya tidak tahu cara mengurangi ukuran paket?

Dibuat pada 13 Des 2016  ·  5Komentar  ·  Sumber: dvajs/dva

Halo!

Saya menggunakan dva untuk pengembangan baru-baru ini, dan saya sangat berterima kasih kepada penulis dva atas kerja keras mereka~
Masalah yang saya temui saat ini adalah tidak banyak file proyek, tetapi paket yang dikemas sangat besar (index.js sudah mencapai 1.3MB). Saya tidak tahu apakah dva build dapat mendukung pemisahan proyek menjadi beberapa entri dan memisahkan halaman berdasarkan fungsi?

question

Komentar yang paling membantu

Modul yang sesuai dapat diperkenalkan sesuai permintaan, misalnya, hanya 折线图 , 柱状图 , 饼图 diperkenalkan sebagai berikut:


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

Yang lebih menjengkelkan adalah bahwa modul-modul ini bukanlah dependensi yang kuat. Anda akan menemukan bahwa beberapa modul tidak berpengaruh jika tidak diperkenalkan, dan beberapa modul akan memiliki pesan kesalahan selama rendering, yang memerlukan pengenalan modul tertentu.

Tentu saja, lebih mudah untuk menulis plugin babel. . . . .

Semua 5 komentar

Posting package.json

@nikogu Di bawah ini adalah package.json saya

 {
  "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"
  }
}

Saya membuat proyek dengan dvacli

dva new myproject

charts sudah besar

@codering echarts3 situs resmi mengatakan lebih dari 170k setelah kompresi.

Modul yang sesuai dapat diperkenalkan sesuai permintaan, misalnya, hanya 折线图 , 柱状图 , 饼图 diperkenalkan sebagai berikut:


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

Yang lebih menjengkelkan adalah bahwa modul-modul ini bukanlah dependensi yang kuat. Anda akan menemukan bahwa beberapa modul tidak berpengaruh jika tidak diperkenalkan, dan beberapa modul akan memiliki pesan kesalahan selama rendering, yang memerlukan pengenalan modul tertentu.

Tentu saja, lebih mudah untuk menulis plugin babel. . . . .

Apakah halaman ini membantu?
0 / 5 - 0 peringkat