1.7 css依赖顺序的解析

入口文件: login.js

// login.js的依赖
    [
        'login.css'
    ]
    // login.css的依赖
    [
        'account.css'
    ]

    // account.css的依赖
    [
        'reset.css',        //重置样式
        'dialog.css',       //弹窗
        'validator.css'     //验证
    ]

    // dialog.css的依赖
    [
        'reset.css'
    ]

    // reset.css & validator.css 没有依赖

加载顺序处理逻辑

// login依赖account
    // 因此第一步的依赖为
    var deps = [
        'login.css'
    ]
    // 然后login.css的依赖
    deps = [
        'account.css',
        'login.css'
    ]

    // account.css依赖 reset.css, dialog.css, validator.css
    // 顺序应该是
    deps = [

        'reset.css.deps',
        'reset.css',

        'dialog.css.deps',
        'dialog.css',

        'validator.css.deps',
        'validator.css',


        'account.css',
        'login.css'
    ]

    // 即依赖顺序为

    deps = [
        // reset.css.deps为null
        'reset.css',

        'reset.css',    // dialog.css.deps
        'dialog.css',

        //validator.css.deps为null
        'validator.css',

        'account.css',
        'login.css'
    ]

    // 去重得到最终依赖顺序
    deps = [
        'reset.css',
        'dialog.css',
        'validator.css',
        'account.css',
        'login.css'
    ]
原文地址:https://www.cnblogs.com/ipliu/p/4650587.html