Size: a a a

Next.js — русскоговорящее сообщество

2019 September 05

🦜

🦜 in Next.js — русскоговорящее сообщество
Бурчик
файл удалил)
Почему?
источник

Б

Бурчик in Next.js — русскоговорящее сообщество
ну там ts файл в  js проекте
источник

🦜

🦜 in Next.js — русскоговорящее сообщество
Бурчик
ну там ts файл в  js проекте
И все?
источник

Б

Бурчик in Next.js — русскоговорящее сообщество
дааааа
источник
2019 September 06

JC

J. C. in Next.js — русскоговорящее сообщество
Привет. А с Некcтом какие есть особенности с установкой кукис? Я axios отправляю запрос к апи серверу, должны куки установится, но они не ставятся. Через фетч ставятся, но в респонз хеадерс Set-Cookie почему-то нет)
источник

e

eeeMan in Next.js — русскоговорящее сообщество
J. C.
Привет. А с Некcтом какие есть особенности с установкой кукис? Я axios отправляю запрос к апи серверу, должны куки установится, но они не ставятся. Через фетч ставятся, но в респонз хеадерс Set-Cookie почему-то нет)
такая же проблема была, мне так никто и не ответил
источник

OJ

Orkhan Jafarov in Next.js — русскоговорящее сообщество
J. C.
Привет. А с Некcтом какие есть особенности с установкой кукис? Я axios отправляю запрос к апи серверу, должны куки установится, но они не ставятся. Через фетч ставятся, но в респонз хеадерс Set-Cookie почему-то нет)
серверный кукис?
источник

JC

J. C. in Next.js — русскоговорящее сообщество
Orkhan Jafarov
серверный кукис?
По видимому да, сервер должен передать Set-Cookie в котором id сессии. И он их передает, если через постмен делать запрос то этот заголовок с кукой есть
источник

OJ

Orkhan Jafarov in Next.js — русскоговорящее сообщество
J. C.
По видимому да, сервер должен передать Set-Cookie в котором id сессии. И он их передает, если через постмен делать запрос то этот заголовок с кукой есть
Был похожий кейс, делал так. Ручку прям в кастомный server.js

server.post('/login', async (req, res) => {
   const { username, password } = req.body;
   try {
     const resp = await fetch(`${process.env.BACKEND_URL}/login/`, {
       method: 'POST',
       headers: {
         'Content-Type': 'application/json',
       },
       body: JSON.stringify({ username, password }),
     });
     const { token } = await resp.json();
     
     const options = {
       maxAge: 7 * 24 * 3600 * 1000,
       httpOnly: true,
       signed: false,
     };

     // Set cookie
     ctx.res.cookie(‘token’, token, options);
     res.send('success');
   } catch (error) {
     console.error(error);
   }
 });
источник

JC

J. C. in Next.js — русскоговорящее сообщество
Orkhan Jafarov
Был похожий кейс, делал так. Ручку прям в кастомный server.js

server.post('/login', async (req, res) => {
   const { username, password } = req.body;
   try {
     const resp = await fetch(`${process.env.BACKEND_URL}/login/`, {
       method: 'POST',
       headers: {
         'Content-Type': 'application/json',
       },
       body: JSON.stringify({ username, password }),
     });
     const { token } = await resp.json();
     
     const options = {
       maxAge: 7 * 24 * 3600 * 1000,
       httpOnly: true,
       signed: false,
     };

     // Set cookie
     ctx.res.cookie(‘token’, token, options);
     res.send('success');
   } catch (error) {
     console.error(error);
   }
 });
Для этого нужен кастомный NextJS сервер? Дело в том что там в проекте есть бекенд на PHP, я собственно к нему запрос axios-ом и отправляю, и я рассчитывал от него эти куки получать
источник

OJ

Orkhan Jafarov in Next.js — русскоговорящее сообщество
J. C.
Для этого нужен кастомный NextJS сервер? Дело в том что там в проекте есть бекенд на PHP, я собственно к нему запрос axios-ом и отправляю, и я рассчитывал от него эти куки получать
кастомный сервер NextJS-а.
Ты попробуй
axios.defaults.withCredentials = true;
источник

JC

J. C. in Next.js — русскоговорящее сообщество
Orkhan Jafarov
кастомный сервер NextJS-а.
Ты попробуй
axios.defaults.withCredentials = true;
Да, это поставил уже. Пока не помогло) Спасибо
источник

Б

Бурчик in Next.js — русскоговорящее сообщество
Orkhan Jafarov
Был похожий кейс, делал так. Ручку прям в кастомный server.js

server.post('/login', async (req, res) => {
   const { username, password } = req.body;
   try {
     const resp = await fetch(`${process.env.BACKEND_URL}/login/`, {
       method: 'POST',
       headers: {
         'Content-Type': 'application/json',
       },
       body: JSON.stringify({ username, password }),
     });
     const { token } = await resp.json();
     
     const options = {
       maxAge: 7 * 24 * 3600 * 1000,
       httpOnly: true,
       signed: false,
     };

     // Set cookie
     ctx.res.cookie(‘token’, token, options);
     res.send('success');
   } catch (error) {
     console.error(error);
   }
 });
так стоп, сделать запрос на нодовском сервере к самому серверу чтобы записать куки на нодовском сервере) и вернуть это к фронту
источник

Б

Бурчик in Next.js — русскоговорящее сообщество
мне кажется next  делает двойную работу)
источник

Б

Бурчик in Next.js — русскоговорящее сообщество
допустим у меня есть api another.site/api/profile
я получается должен повторно реализовать у себя такой же сервис - pages/api/profile и от туда стучаться в another.site/api/profile? чтобы у меня не было траблов с корсами итп? и там же делать проверки типа if !(‘authorization' in req.headers))
источник

Б

Бурчик in Next.js — русскоговорящее сообщество
я кароче сделал единную helper функцию для запросов с фронта и внутри getInitialProps()
export default async function sendRequest(path, opts = {}) {
const headers = Object.assign({}, opts.headers || {}, {
 'Content-type': 'application/json; charset=UTF-8'
});

const response = await fetch(
 `${API}${path}`,
 Object.assign({ method: 'POST', credentials: 'same-origin' }, opts, {
  headers
 })
);
const data = await response.json();

if (data.error) {
 throw new Error(data.error);
}

return data;
}

чтобы потом разбивать по файликам и делать что-то типа

import sendRequest from './senRequest.js';

const BASE_PATH = '/api/v1';

export const getItems = () =>
sendRequest(`${BASE_PATH}/itemsraw/`, {
 method: 'GET'
});


как бы мне теперь сделать чтобы на запрос

sendRequest(`${BASE_PATH}/login`, {
 method: 'GET'
});

один раз засетить токен в куки и прикрепить в хедеры чтобы в каждом getInitialProps не чекать 🤔
источник
2019 September 07

О

Олег in Next.js — русскоговорящее сообщество
Ребят. Чет я замучался уже с одной траблой. Подключаю файл scss и перестает работать Link. Не переходит по ссылке на страницу. Если вбить url напрямую, то все показывает. Я не понимаю что за фигня
источник

e

eeeMan in Next.js — русскоговорящее сообщество
Олег
Ребят. Чет я замучался уже с одной траблой. Подключаю файл scss и перестает работать Link. Не переходит по ссылке на страницу. Если вбить url напрямую, то все показывает. Я не понимаю что за фигня
у меня тоже так, но у меня было такое когда на какой-то page не были подключены модули в которых есть импорт сцсс файла, короче, проверь, на всех ли страницах у тебя модули используют импортированные сцсс файлы
источник

e

eeeMan in Next.js — русскоговорящее сообщество
это баг какой-то, он появляется на той странице где нет подключения сцсс файла ни одного
источник

О

Олег in Next.js — русскоговорящее сообщество
eeeMan
у меня тоже так, но у меня было такое когда на какой-то page не были подключены модули в которых есть импорт сцсс файла, короче, проверь, на всех ли страницах у тебя модули используют импортированные сцсс файлы
понял в чем дело. в scss файле я делал scss импорт через собаку. убрал и заработало. Очень странная фигня
источник