위챗 애플릿 패키지 로드 및 패키지 사전 로드

위챗 애플릿의 프로젝트는 끊임없이 교체되고 기능이 점점 많아지며 코드 패키지는 상응하여 점점 커진다. 메인 패키지의 부피가 너무 크면 사용자가 애플릿에 들어갈 때의 체험에 영향을 줄 수 있기 때문에 가능한 한 메인 패키지의 크기를 줄이고 코드 패키지를 하도급 처리하며 필요할 때 다시 불러올 수도 있고 일부 페이지에 들어간 후에 하도급 데이터를 미리 불러올 수도 있다.
export default class extends wepy.app {
  config = {
    pages: [
      'pages/loading',
      'pages/index',
      'pages/mine',
      'pages/indexInvoice',
      'pages/indexForwarder',
      'pages/userInfo',
      'pages/integral',
      'pages/shareShip',
      'pages/shareInvoice',
      'pages/help',
      'pages/vip'
    ],
    subPackages: [
      {
        root: 'ship',
        name: 'ship',
        pages: [
          'search',
          'invoiceDetails',
          'myship',
          'intention',
          'customer',
          'customerDetails',
          'freightList',
          'bindShip'
        ]
      },
      {
        root: 'freight',
        name: 'freight',
        pages: [
          'fleet',
          'myInvoice',
          'msg',
          'newInvoice',
          'shipDetails',
          'selectInvoice',
          'fleetDetails',
          'send',
          'rechargeHistory',
          'msgConfirm',
          'bindFreight',
          'myInvoiceDetails'
        ]
      }
    ],
    preloadRule: {
      'pages/indexInvoice': {
        network: 'all',
        packages: ['ship']
      },
      'pages/indexForwarder': {
        network: 'all',
        packages: ['freight']
      }
    },
    window: {
      backgroundTextStyle: 'light',
      navigationBarBackgroundColor: '#1270e1',
      navigationBarTitleText: '  ',
      navigationBarTextStyle: '#ffffff'
    },
    networkTimeout: {
      uploadFile: 300000
    }
  };
  globalData = {
    
  };
  constructor() {
    super();
    this.use('requestfix');
    this.use('promisify');
  }
  onLaunch(options) {
    let that = this;
    wx.setStorageSync(wepy.$appConfig.baseUrl + 'scene', options.scene);
    //  await this.Load();
  }
  onShow() {
    this.update();
  }
  onHide() {

  }
  unload() {
    
  }
  


}

preloadRule의 설정은 애플릿의 한 페이지에 들어갈 때 프레임워크가 자동으로 필요한 하도급을 미리 다운로드하여 후속 하도급 페이지에 들어갈 때의 시작 속도를 향상시킨다.
'페이지/indexInvoice' 에 들어갈 때 패키지 ship을 미리 불러옵니다.
'페이지/index Forwarder' 에 들어갈 때 패키지 프리라이트를 미리 불러옵니다.
패키지는 페이지에 들어간 후 패키지를 미리 다운로드한root 또는name로 설정할 수 있다.__APP__는 기본 패키지를 나타냅니다.
네트워크 설정 가능all: 네트워크 제한 없음wifi: 와이파이만 미리 다운로드
주의해야 할 것은 기본 라이브러리 버전이 2.3.0보다 낮으면 미리 불러오는 것을 지원하지 않기 때문에 하도급 페이지에 들어갈 때 하도급을 불러올 수 있다

좋은 웹페이지 즐겨찾기