2 月
第六周:股票数据、taro echarts、carbonyl
技术
- 股票数据获取
- taro echarts common 体积问题:
- echarts 单独打包
webpackChain(chain) {
chain.optimization.sideEffects(false)
chain.merge({
optimization: {
splitChunks: {
cacheGroups: {
subpackagesCommon: {
name: 'echartsCommon',
priority: 50,
minChunks: 2,
test(module) {
return /pages[\\/]analysis[\\/]ec-canvas[\\/]echarts.js/.test(module.resource)
},
},
},
},
},
})
}- 跳过编译
compile: {
exclude: [
// 跳过编译
path.resolve(__dirname, '..', 'src/pages/analysis/ec-canvas/echarts.js'),
],
}- 注入引用【plugin】
const fs = require('fs')
const path = require('path')
export default (ctx, ) => {
ctx.onBuildFinish(() => {
console.log('echarts构建hack注入')
const target = path.join(ctx.paths.outputPath, 'pages/analysis/ec-canvas/ec-canvas.js')
const data = fs.readFileSync(target, 'utf8')
fs.writeFileSync(target, `require("../../../echartsCommon");${data}`)
})
}- 问题 1:如果在 src 目录下分包,则首页白屏;所以不用分包 或者是在 pages 目录下分包
- 问题 2:addChunkPages 不用配置
- 问题 3:其实也可以反向思考:即全部都分包,使得 commonjs 只有 echarts 让体积降下来