const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
const connect_and_query = () => {
const db = new sqlite3.Database('./db.db');
return new Promise((resolve, reject) => {
db.serialize(() => {
db.all("SELECT * FROM table ORDER BY id;", (err, rows) => {
if(err){
reject(err)
} else {
resolve(rows)
}
});
})
}).finally(() => {
db.close();
});
}
const f = () => Promise.all([sleep(1000),connect_and_query()]);
export default f;
f().then(res => console.log(res));
В среднем, насколько хороша поддержка next13 среди всех библиотек для react/next?- всё что работает на реакте, работает и на нексте, в том числе и на 13
Насколько она готова для production разработки?- такое себе, баги есть но не критичные, если не умеешь свой ssr писать и если очень в нём нуждаешься, можешь занырнуть
Если не 13, то какую версию лучше выбрать?- все версии проблемные, идеальных нет, последняя версия с app директорией является самой продвинутой и гибкой, если уж писать на нексте что-то, то писать на последнем 13+
app/blog
- можешь создать layout.tsx, а все вложенные папки это и будут children которые попадают в этот layout.tsx - типа вложенных страниц, но на самом деле не так, layout.tsx - это просто обёрткаconst BlogLayout = ({ children }) => {
return (
<section>
<SomeComponent/>
{children}
</section>
)
};
export default BlogLayout ;
><div class="box">
<div class="l">Lorem ipsum dolor sit amet consectetur adipisicing elit. Porro ex cum nesciunt non itaque perspiciatis odio reiciendis voluptates optio excepturi? Reprehenderit ut illo harum quia minima odio vel cupiditate repudiandae?</div>
<div class="r"> <div class="r__inner">Этот текст должен быть высотой не выше левой стороны, должен уходить в скролл, если надо. Lorem ipsum dolor sit amet consectetur adipisicing elit.</div></div>
</div>
.box {
display: flex;
border: 1px solid red;
}
.l {
flex: 0 0 75%;
}
.r {
flex: 0 0 25%;
overflow-y: auto;
position: relative;
}
.r__inner{
position: absolute;
top: 0;
left: 0;
}
.l, .r {
border: 1px solid blue;
font-size: 30px;
}
<div>
<span>123</span>
<p>Какой-то текст</p>
</div>
body{
background: gray;
}
div{
margin: 50px auto;
width: 200px;
height: 140px;
background: radial-gradient(40px 40px at center top, transparent 100%, red 100%);
position: relative;
display: flex;
justify-content: center;
align-items: center;
color: #fff;
border-radius: 20px;
}
span{
width: 65px;
height: 65px;
border-radius: 50%;
color: firebrick;
background: aqua;
display: flex;
justify-content: center;
align-items: center;
position: absolute;
top: -32px;
}
RouterProvider
, он может всё что и BrowserRouter
и даже больше location / {
allow 33.33.333.333;
deny all;
root /var/www/test/client/public;
try_files $uri $uri/ /index.html;
}
const canvas = document.createElement('canvas');
canvas.width = 500;
canvas.height = 500;
const ctx = canvas.getContext('2d');
document.body.append(canvas);
let img = new Image();
img.onload = () => {
ctx.drawImage(img, 0, 0);
}
img.src = "https://i.pinimg.com/originals/87/48/07/874807f8cb45e17f44312eb761261ad9.jpg";
В какой жизненный цикл разработки проекта на Next/React внедрять авторизацию пользователей?
const button = document.querySelector('.test');
const circle = document.querySelector('.circle');
button.addEventListener('click', () => {
circle.style.transform = `translate(-50%, -50%) rotate(${circle.style.transform+30}deg)`;
});
server {
listen 443 ssl;
ssl_certificate /etc/ssl/certificate.crt;
ssl_certificate_key /etc/ssl/private.key;
server_name alltech.home.com;
location /v1/doit/completions {
proxy_ssl_server_name on;
proxy_pass https://api.open.my/v1/doit/completions;
}
location / {
root /usr/share/nginx/html/;
autoindex off;
}
}
document.addEventListener( 'wpcf7mailsent', function( event ) {
location = 'https://site.com/thanks';
setTimeout(() => window.open('https://site.com/thanks2', "_blank"))
}, false );