Ho bisogno di Bower per le dipendenze front-end quando sto già utilizzando il compositore?

2

Uso il compositore per le dipendenze di PHP. Avevo l'impressione che per le dipendenze front-end dovessi usare Bower. Così, ho installato Bower e caricato le mie dipendenze FE (Bootstrap, jQuery) usando quella. Quindi leggo manualmente i collegamenti alle librerie come segue:

mypc:/var/www/myproject/public/js$ ls -l
total 8
lrwxrwxrwx 1 tom tom   67 Dec 23 07:29 bootstrap.min.js -> /var/www/myproject/bower_components/bootstrap/dist/js/bootstrap.min.js
lrwxrwxrwx 1 tom tom   58 Dec 23 07:29 jquery.min.js -> /var/www/myproject/bower_components/jquery/dist/jquery.min.js

Tuttavia, noto che questi sono memorizzati all'interno di una directory / bower_components proprio come le dipendenze dei compositori sono memorizzate in / vendor. Così ora ho / bower_components e / vendor così come / node_modules (per i plugin grunt e grunt). Quindi, dato che tutti i Bower fanno cadere i repository, su cui ho bisogno di collegarli, non posso usare il compositore anche per le librerie front-end?

"components/jquery": "dev-master"
"components/bootstrap": "dev-master"

.. quindi creare collegamenti simbolici ai file (ad esempio .js .css) nelle mie directory pubbliche / *? C'è qualche ragione per cui Bower è ancora meglio per la gestione delle dipendenze FE? Grazie

    
posta Martyn 01.01.2015 - 20:57
fonte

2 risposte

2

No Composer è un gestore delle dipendenze per PHP solo mentre Bower è ottimizzato per le dipendenze front-end che possono essere utilizzate non solo con siti costruiti con PHP ma costruiti con altri linguaggi di programmazione e framework. Vorrei attenermi a Bower per la gestione delle dipendenze front-end perché è quello per cui è stato progettato. :)

    
risposta data 02.01.2015 - 20:55
fonte
6

Mi sono imbattuto in questo gioiello che ti consentirà di utilizzare i pacchetti Composer con Bower:

link

Dal loro Leggimi:

The Composer Asset Plugin allows you to manage project assets (css, js, etc.) in your composer.json without installing NPM or Bower.

This plugin works by transposing package information from NPM or Bower to a compatible version for Composer. This allows you to manage asset dependencies in a PHP based project very easily.

Features include:
  • Works with native management system versions of VCS repository of composer
  • Works with public and private VCS repositories
  • Lazy loader of asset package definitions to improve performance
  • Import filter with the dependencies of the root package and the installed packages, for increased dramatically the performance for the update
  • Automatically get and create an Asset VCS repository defined in:
  • Automatically get and create the Asset VCS repositories of dependencies defined in each asset package (dev dependencies included)
  • Mapping conversion of asset package to composer package for:
  • Conversion of Semver version to the composer version
  • Conversion of Semver range version to the composer range version
  • Conversion of dependencies with URL to the composer dependencies with the creation of VCS repositories
  • Conversion of multiple versions of the same dependency to different dependencies of composer
  • Add manually the multiple versions of a same dependency in the project
  • Add a custom config of VCS Repository
  • Override the config of VCS Repository defined by the asset registry directly in extra section of root composer
  • VCS drivers for:
    • Git
    • GitHub (compatible with repository redirects)
    • Git Bitbucket
    • Mercurial
    • Mercurial Bitbucket
    • SVN
    • Perforce
  • Local cache system for:
    • package versions
    • package contents
    • repository redirects
  • Custom asset installers configurable in the root file composer.json
  • For Bower, all files defined in the section ignore will not be installed
  • Disable or replace the deleting of the ignore files for Bower
  • Enable manually the deleting of the ignore files for NPM
  • Use the Ignore Files Manager in the Composer scripts
  • Compatible with all commands, including:
    • depends
    • diagnose
    • licenses
    • remove
    • require
    • search (bower only)
    • show
    • status
    
risposta data 04.01.2016 - 19:49
fonte

Leggi altre domande sui tag