[bower] Bower와 devDependencies vs Dependencies

나는 ‘yo angular’를 실행하고 나중에 1.0.8을 설치하고 각도 구성 요소를 제거한다는 것을 알았지 만 원래 bower.json 파일에는 1.2를 모두 다시 추가 할 때 ‘devDependencies’에 angular-mocks 및 angular-scenario가 있습니다. devDependencies 대신 종속성이있는 0-rc.2 구성 요소 앵귤러 모의 및 각 시나리오.

devDependencies가 어떻게 사용되는지 궁금하고 수동으로 문제를 해결하거나 그대로 두어야합니다. bower CLI에서 무언가를 dev 의존으로 표시하는 방법을 지정하는 방법이 있습니까?

파일을 편집 한 후 :

{
    name: "Angular",
    version: "0.0.0",
    dependencies: {
        json3: "~3.2.4",
        jquery: "~1.9.1",
        bootstrap-sass: "~2.3.1",
        es5-shim: "~2.0.8",
        angular-mocks: "1.2.0-rc.2",
        angular-sanitize: "1.2.0-rc.2",
        angular-resource: "1.2.0-rc.2",
        angular-cookies: "1.2.0-rc.2",
        angular: "1.2.0-rc.2",
        angular-scenario: "1.2.0-rc.2"
    },
    devDependencies: { }
}

편집하기 전에 :

{
    "name": "Angular",
    "version": "0.0.0",
    "dependencies": {
        "angular": "~1.0.7",
        "json3": "~3.2.4",
        "jquery": "~1.9.1",
        "bootstrap-sass": "~2.3.1",
        "es5-shim": "~2.0.8",
        "angular-resource": "~1.0.7",
        "angular-cookies": "~1.0.7",
        "angular-sanitize": "~1.0.7"
    },
    "devDependencies": {
        "angular-mocks": "~1.0.7",
        "angular-scenario": "~1.0.7"
    }
}



답변

devDependencies 단위 테스트, 패키징 스크립트, 문서 생성 등과 같은 개발 관련 스크립트를위한 것입니다.

dependencies 프로덕션 용도로 필요하고 개발자에게도 필요하다고 가정합니다.

devDependencieswithin을 포함 dependencies하면 해롭지 않습니다. 모듈은 설치하는 동안 더 많은 파일 (바이트)을 묶어 더 많은 (필요하지 않은) 리소스를 소비합니다. 순수 POV에서 이러한 추가 바이트는 해로울 수 있습니다. 단지 관점에 따라 다릅니다.

보고 되거하려면 bower help install, 아래에 나열된 모듈 devDependencies모듈을 통해 설치 과정을 생략 할 수 -p또는 --production, 예를 :

bower install angular-latest --production

이는 개발 플랫폼 이외의 용도로 설치를 수행하는 데 권장되는 방법입니다.

반대로, 아래에 나열된 모듈을 생략 할 방법이 없습니다 dependencies.


현재 bower@1.2.7 (참조 정자 최신 소스 ) bower help수율 :

Usage:

    bower <command> [<args>] [<options>]

Commands:

    cache                   Manage bower cache
    help                    Display help information about Bower
    home                    Opens a package homepage into your favorite browser
    info                    Info of a particular package
    init                    Interactively create a bower.json file
    install                 Install a package locally
    link                    Symlink a package folder
    list                    List local packages
    lookup                  Look up a package URL by name
    prune                   Removes local extraneous packages
    register                Register a package
    search                  Search for a package by name
    update                  Update a local package
    uninstall               Remove a local package

Options:

    -f, --force             Makes various commands more forceful
    -j, --json              Output consumable JSON
    -l, --log-level         What level of logs to report
    -o, --offline           Do not hit the network
    -q, --quiet             Only output important information
    -s, --silent            Do not output anything, besides errors
    -V, --verbose           Makes output more verbose
    --allow-root            Allows running commands as root

See 'bower help <command>' for more information on a specific command.

또한 bower help install수율 ( 최신 소스 참조 ) :

Usage:

    bower install [<options>]
    bower install <endpoint> [<endpoint> ..] [<options>]

Options:

    -F, --force-latest      Force latest version on conflict
    -h, --help              Show this help message
    -p, --production        Do not install project devDependencies
    -S, --save              Save installed packages into the project's bower.json dependencies
    -D, --save-dev          Save installed packages into the project's bower.json devDependencies

    Additionally all global options listed in 'bower help' are available

Description:

    Installs the project dependencies or a specific set of endpoints.
    Endpoints can have multiple forms:
    - <source>
    - <source>#<target>
    - <name>=<source>#<target>

    Where:
    - <source> is a package URL, physical location or registry name
    - <target> is a valid range, commit, branch, etc.
    - <name> is the name it should have locally.


답변