title: 第六周 date: 2023-02-06 09:39:22
- 股票数据获取
- 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 让体积降下来