2015-07-14 4 views
2

Некоторое время назад я спросил, как переопределить sails.js чертежи (CRUD blueprint overriding in sails.js)sails.js чертежи переопределять в качестве крючка

С v0.11 из sails.js мы теперь имеем чертежи (и они являются удивительными :)).

Можно ли отключить текущие чертежи и установить новую версию их в качестве крючка? Этот комментарий к проблеме (https://github.com/balderdashy/sails/pull/2173#issuecomment-54165548) от @ sgress454, кажется, указывает, что он/был в работе, но я не могу найти ничего более конкретного об этом.

Я знаю, что могу переопределить, создав папку api/blueprints, но мои пользователи будут легче потреблять через установку npm.

ответ

0

Вы правы, это возможно.

Это на самом деле то, что происходит в ядре Sails здесь: https://github.com/balderdashy/sails/tree/master/lib/hooks/blueprints По умолчанию чертежи загружаются как Installable Hook.

Вы можете просто скопировать этот лицензионный код MIT и затем заменить содержимое каталога actions собственными чертежами. После этого обновите объект BlueprintController в index.js, чтобы убедиться, что он указывает на ваши файлы.

И, наконец, все волшебство происходит в методе extendControllerMiddleware. Вы можете увидеть, что код будет проходить через каждый контроллер, чтобы ввести ваши чертежи. Ключевым моментом здесь является замена вызова на _.defaults на _.assign, потому что ваш крюк парусов захочет перезаписать чертежи по умолчанию, а не просто добавлять их, если они не существуют.

Смежные вопросы