javascript - Vue knjižnica komponenti bez pakiranja podržanih paketa ili kompajliranja scss datoteka


Zadano mi je da smišljam kako objaviti biblioteku komponenti na kojoj moj tim radi. Te će komponente koristiti različite interne aplikacije unutar tvrtke. Imam sljedeća ograničenja:

  • Biblioteka će se koristiti kao npm paket iz internog lokalnog spremišta. (ovaj dio sam riješio)
  • Komponente bi trebale biti prevedene u JavaScript s referencama na TypeScript sučelja (*.d.ts) unutar paketa.
  • Ne bi se trebali uključivati paketi trećih strana (uključujući Vue). Umjesto toga, poželjno je da se ovisni npm paketi dodaju u projekt kada se komponenta doda i nakon npm i.
  • Kompilirana css zbirka trebala bi biti uključena u paket, ali bi se trebala referencirati zasebno unutar projekta kada je potrebna.
  • Neprevedene SCSS datoteke koje čine stilove komponenti trebaju biti uključene u paket kako bi se mogle uključiti u postojeći SCSS projekta tijekom izgradnje.

Pregledao sam vue-cli-service build --target lib kako bih to postigao, ali čini se da sve spakira i pakira.

Je li ono što tražim uopće moguće? Je li to anti-obrazac? Postoje li alternative? Ne znam odakle bih počeo.

Odgovor #1

Krenuli ste u pravom smjeru s vue-cli-service build --target lib, to je upravo ono što vam treba. On spaja vašu ulaznu .vue datoteku kao komponentu, a zatim taj paket postaje vaša ulazna točka za package.json. Ne uključuje Vue biblioteku u njega (to je navedeno u dokumentaciji) i mislim da je po defaultu konfiguriran za izdvajanje CSS-a u posebnu datoteku u dist mapi. Nadam se da ovo pomaže.