webpack-loader

目前,billund提供了许多的webpackloader,进行一些静态的代码转义,帮助开发者便利开发。

billund-config-loader

billund-config-loader 主要用来将billund的组件的配置文件,根据我们对于的loader-options打出不同的内容。

全量打包(默认)

默认情况下,我们会对配置文件进行全量打包。配置时,templatestoreConfig等字段对应的值为对应的路径,通过loader我们会将它转换成对应require引用,从而将组件进行完整的打包。

静态打包

在静态打包模式下,组件只会暴露出一些静态资源,如name(WIDGET_NAME),actionsconstants等字段。区分这两种打包模式的原因是,让非异步加载的包尽量小,优化性能。

billund-action-loader

billund-action-loader主要会通过解析我们的controler层的代码,从而完成对应功能:

  • 组件打包

获知我们要在页面上展示哪些组件,从而将组件打包进入对应的页面静态资源文件。同时,会通过组件的权重,自动优化成为首屏js与异步加载js,优化页面性能。

  • storeConfig的同构注册

解析页面组件里的storeConfig配置,然后将其进行同构注册,从而让两端都拥有对应的能力(如vuexgetters等,就很推荐注册在这里)。

  • routerConfig的同构注册

解析页面组件里的routerConfig配置,然后将其进行同构注册,从而让两端都拥有对应的能力(如vue-module)。

billund-action-loader支持两个参数:

  • widgetNameToPath

widgetNameToPath是一个必传参数,内容是组件名称与组件完整路径的映射对象。在controler层中,我们都只注册了组件的名称,需要将组件打包的话需要有对应的路径引用。

  • widgetLoaders

这个参数表示了开发者对controler层解析的组件,怎么对其的内容进行打包。这个参数不是必填的,默认我们会使用对应的loaders:

const DEFAULT_WIDGET_LOADERS = [{
    loader: 'babel-loader'
}, {
    loader: 'billund-config-loader',
    options: {
        include: 'all'
    }
}];

billund-supportor-preprocessor-loader

billund-supportor-preprocessor-loader是将preprocessor的代码转换成能够让billund理解的注册代码,从而让开发者在使用时不用考虑太多细节。

results matching ""

    No results matching ""