2.0.10 • Published 9 years ago

atm-get-deps v2.0.10

Weekly downloads
3
License
ISC
Repository
github
Last release
9 years ago

atm-get-deps

###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 = [
        'account.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'
    ]

    // 即依赖顺序为

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

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

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

        'account.css'
    ]

    // 去重得到最终依赖顺序
    deps = [
        'reset.css',
        'dialog.css',
        'validator.css',
        'account.css'
    ]

,因此顺序是: account.css login.css

    // login
    [
        'reset.css',
        'validator.css',
        'dialog.css',
        'account.css'
    ]
    var deps = [];
    // 获取一个文件的依赖
    function getDeps (file) {
        deps.unshift(file);

        // 如果文件有依赖
        if (fileDeps.length) {
            deps = fileDeps.concat(file);
            //
            fileDeps.reverse().forEach(function (depFile) {
                getDeps(depFile);
            });

        }

    }

    // 对deps进行去重处理
    function unique (arr) {
        var obj = {},
            newArr = [];
        arr.forEach(function (id) {
            if (!obj[id]) {
                newArr.push(id);
            }
            obj[id] = true;
        });
        return newArr;
    }
2.0.10

9 years ago

2.0.9

9 years ago

2.0.8

9 years ago

2.0.7

9 years ago

2.0.6

9 years ago

2.0.5

9 years ago

2.0.4

9 years ago

2.0.3

9 years ago

2.0.2

9 years ago

2.0.1

9 years ago

2.0.0

9 years ago

1.6.1

9 years ago

1.6.0

9 years ago

1.5.0

9 years ago

1.2.0

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

0.0.4

9 years ago

0.0.3

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago

0.0.0

9 years ago