Гледайте файла за промени в пакета, без да използвате api.add_files()

Имам някои миксини за стилус в пакет Meteorite, които не искам да добавя с api.add_files(). Вместо това те трябва да бъдат @importдобавени в приложение от директорията с пакети за достъп до миксините. Meteor обаче няма да следи тези файлове за промени, което прави разработката и тестването малко досадни (или сървърът трябва да се рестартира, или добавен файл трябва да се промени).

Има ли някакъв начин да накарате Meteor да следи файл за промени, дори ако не е директно включен в приложението/пакета?


person sbking    schedule 26.12.2013    source източник
comment
Защо не можете да използвате add_files? Ако разширението се прихваща от Meteor, опитайте друго разширение.   -  person matb33    schedule 26.12.2013
comment
@matb33 Meteor избира файловете чрез стилус и @import, но не наблюдава файлове, които не са декларирани с .add_files, за каквито и да било промени, които предполага, че не са част от пакета. И аз имам малко проблеми с това, но току-що ги добавих всички с .add_files   -  person Tarang    schedule 27.12.2013
comment
@matb33 Имам някои променливи в моите стилус файлове, които са декларирани с ?= (по подразбиране е равно). Тези променливи се използват за задаване на някои глобални стилове. Идеята беше, че потребителят може да зададе тези променливи, след което да импортира пакетните стилус файлове, така че да могат да заменят променливите за глобални настройки. Разбрах, че това не е необходимо за миксини, но изглежда е необходимо за обикновени стилове, които зависят от променливи. Предполагам, че мога просто да дефинирам тези обикновени стилове като миксин, който потребителят ще трябва да приложи към своя body стил, след като зададе своите променливи, вместо да използва @import   -  person sbking    schedule 27.12.2013
comment
@Akshat Да, това беше почти мой проблем. Мога да ги добавя към add_files() само за функцията on_test, която помага за тестване. Може просто да преработя стилуса, така че всичко да е миксин, позволяващ на потребителите да заместват променливи, и след това мога да използвам add_files() в on_use.   -  person sbking    schedule 27.12.2013


Отговори (1)


(Предполагам, че използвате интелигентен пакет със стилус, за да има смисъл този отговор)

Предлагам ви да поемете по същия път, както се препоръчва за пакета LESS: преименувайте файловете, които искате, на @import на .stylimport и направете add_files и върху тях.

Освен това можете да посочите тези .stylimport файлове извън смарт пакета като такива:

@import "/packages/name-of-your-package/thefilename.stylimport"

person matb33    schedule 27.12.2013
comment
Благодаря, това изглежда е правилният начин да направите това. Интересното е, че пакетът LESS всъщност регистрира .lessimport файлове с инструмента за наблюдение на зависимости, просто не прави нищо с тях: github.com/meteor/meteor/blob/devel/packages/less/plugin/ – Пакетът Stylus обаче не прави такова нещо за .stylimport файла, така че .stylimport файла в приложение (за разлика от пакет) няма да се следи за промени. Може би това е пропуск в пакета Stylus? - person sbking; 31.12.2013