iBird Rose, это какбэ процесс деплоя, vue тут не особо при чём.
Общее: пишешь плагин для webpack, который: перед билдом запускает написанный кастомный babel-transform(край - регулярки, но лучше не надо), который вытащит и сохранит строки templete и заменит их на получение из bd,
Если билд на ci\cd сервере - плагин перед завершением билда запулит сохранённе строки в bd.
Если билд у тебя на машине - плагин просто сохранит эти строки в удобный для машинной обработки файлик, а у тебя самого пост-пуш(или пре-пуш) хук запулит этот файлик в бд.
Ну или если дёшево-сердито, без "оно само", ты можешь просто всегда писать:
import getTemplate from '@getTemplate';
template: getTemplate('id/name')
Где в getTemplateDB лежит код для получения из базы, а в getTemplateString из какого-то файлика\фаликов(тут может пригодиться require.context) с нужными строками которые ты редактируешь в dev на лету.
Ну и после билда, прям в package.jsonbuild можешь добавить скрипт который пошлёт твои файлики в бд типа:
Ну можно начать с рефакторинга и выкинуть Vue.compile из продуктовой сборки(т.е. поддержку template на лету) и билдить компоненты заранее в headless(без самой Vue в бандле) компонеты которые и подключать из бд.
Это так, в плане шутки(хотя именно так и надо делать по-хорошему), а по вопросу мало понятно чего вы хотите добиться. По пунтам распишите что было, что вы хотите чтоб стало. Где ТЗ?)
Alex Lapikov, у тебя где-то таой заголовок и для ответа. Или ты используещь либу которая ждёт json в ответ. Или ещё что-то.
Общий ответ: потому что браузер ждёт там json.
Посмотрит request и response хэдеры.
Иван, ну значит, если энтот самый append слот не предусмтривает такого - воружайся инспектором и смотри как стили взаимодействуют. Добавь ещё padding какой-нить, минусовой margin, или там :after. Или добавь допстили для внутреннего класса этого компонента...
Андрей, чей хэдер? На сервере или в запросе? Если в запросе - то это не имеет смысла: тебе должны разрешить запрос, а не ты заявить "мне всё разрешено, я так сказал!". Если на сервере и сайт твой - то его надо не забыть добавить для ответа на OPTIONS запрос.
Алексей Уколов, до всей этой эпопеи с безопасностью все запросы по умолчанию несли с собой твои куки принадлежащие домену-цели. Это сейчас надо всякие withCredentials указывать, помимо кучи всего прочего.
Общее: пишешь плагин для webpack, который: перед билдом запускает написанный кастомный babel-transform(край - регулярки, но лучше не надо), который вытащит и сохранит строки templete и заменит их на получение из bd,
Если билд на ci\cd сервере - плагин перед завершением билда запулит сохранённе строки в bd.
Если билд у тебя на машине - плагин просто сохранит эти строки в удобный для машинной обработки файлик, а у тебя самого пост-пуш(или пре-пуш) хук запулит этот файлик в бд.
Ну или если дёшево-сердито, без "оно само", ты можешь просто всегда писать:
И сделать такой простенький алиас типа:
Где в
getTemplateDB
лежит код для получения из базы, а вgetTemplateString
из какого-то файлика\фаликов(тут может пригодитьсяrequire.context
) с нужными строками которые ты редактируешь в dev на лету.Ну и после билда, прям в
package.json
build
можешь добавить скрипт который пошлёт твои файлики в бд типа:Ну или, опять же, этот
node ./submitToDB.js
в пост пуш хук.