![Create React App Officially Deprecated Amid React 19 Compatibility Issues](https://cdn.sanity.io/images/cgdhsj6q/production/04fa08cf844d798abc0e1a6391c129363cc7e2ab-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Create React App Officially Deprecated Amid React 19 Compatibility Issues
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
output-view
Advanced tools
Препроцессор шаблонов PHP для nodejs
Поддерживает передачу чисел, строк, объектов и функций в файл html(php), например
var rows =
[
{user_id: 11, user_name:'Андрей', user_family:'Иванов', user_active:1},
{user_id: 121, user_name:'Петр', user_family:'Петров', user_active:1},
{user_id: 13, user_name:'Алексей', user_family:'Сидоров', user_active:1},
{user_id: 142, user_name:'Сергей', user_family:'Алексеев', user_active:1},
{user_id: 15, user_name:'Герман', user_family:'Степанов', user_active:0},
];
res.write(
output.view({
//Название файла
file : '/test.php',
//Переменные
data : {
$count : 100,
$title : 'Тесты',
$rows : rows,
width_10: function(str) {
var count = 10;
return (new Array( count ).join(' ') + str).substr(-count).replace(/ /g, ' ');
}
},
})
);
Поддерживает использование логических блоков if...elseif...else...endif, например
<?php if($key>10): ?>
...
<?php elseif($key<5): ?>
...
<?php else: ?>
...
<?php endif; ?>
Поддерживает использование логических блоков foreach...endforeach, например
<?php foreach($rows as $key=>$value): ?>
...
<?php endforeach; ?>
Поддерживает использование логических блоков for...endfor, например
<?php for($i=0; $i<10; $i++): ?>
...
<?php endfor; ?>
Поддерживает использование логических блоков while...endwhile, например
<?php while($i<100): ?>
...
<?
$i++;
?>
<?php endfor; ?>
Поддерживает любые переменные и выражения на js, например
<?=$название?>
...
<?=$переменная1 * переменная2?>
Поддерживает создание и использование переменных внутри кода HTML, например
<?
var $i=1;
?>
...
<?
$i++;
?>
<?=$i?>
Очищает код от всех комментариев, пробелов и переносов строк (опционально) Автоматически подсвечиваются php-тэги в любом текстовом редакторе
//Конфигурация (глобальная)
myConfig = {};
//Конфигурация сервера
myConfig.server = {
port : 2020,
isDebug : true, //Сообшения сервера
};
//Подключение модуля
var output = require('output-view')({
dir : './', //Папка отображений
clear : true, //Очищать код от комментариев
isDebug : false, //Режим отладки
});
var controller = function (req, res) {
var url = req.url.split('/');
var rows =
[
{user_id: 11, user_name:'Андрей', user_family:'Иванов', user_active:1},
{user_id: 121, user_name:'Петр', user_family:'Петров', user_active:1},
{user_id: 13, user_name:'Алексей', user_family:'Сидоров', user_active:1},
{user_id: 142, user_name:'Сергей', user_family:'Алексеев', user_active:1},
{user_id: 15, user_name:'Герман', user_family:'Степанов', user_active:0},
];
res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
/*
res.write(
output.view({
text : 'Hello, World!',
})
);
*/
res.write(
output.view({
//Название файла
file : '/test.php',
//Переменные
data : {
$test : url[1],
$title : 'Тесты',
$rows : rows,
width_10: function(str) {
var count = 10;
return (new Array( count ).join(' ') + str).substr(-count).replace(/ /g, ' ');
}
},
})
);
res.end();
}
//Формируем задачу
var app = function(req, res) {
var url = req.url.split('/');
//Заглушка запроса favicon.ico
if (url[1]=='favicon.ico') return;
//Установим метку времени
if (myConfig.server.isDebug) {
console.log('\nПолучен запрос req.url', req.url);
console.time('app');
}
//Вызываем контроллер обработки запроса
controller(req, res);
//Выводим общее время
if (myConfig.server.isDebug) console.timeEnd('app');
};
//Создаем и запускаем сервер для задачи
var server = require('http').createServer(app);
server.listen(myConfig.server.port);
//Отображаем информацию о старте сервера
if (myConfig.server.isDebug) console.log('Server start on port ' + myConfig.server.port + ' ...');
<?
$row={key1:1, key2:'text1', key3:2, key4:'text2'};
?>
<?php foreach($row as $key=>$value): ?>
<div>$key=<?=$key?> $value=<?=$value?></div>
<?php endforeach; ?>
$key=key1 $value=1
$key=key2 $value=text1
$key=key3 $value=2
$key=key4 $value=text2
<?
$i=10;
?>
<?php while ($i>3): ?>
<div>$i=<?=$i?></div>
<?
$i--;
?>
<?php endwhile; ?>
$i=10
$i=9
$i=8
$i=7
$i=6
$i=5
$i=4
<?php for($i=0; $i<10; $i++): ?>
<div>$i=<?=$i?></div>
<?php endfor; ?>
$i=0
$i=1
$i=2
$i=3
$i=4
$i=5
$i=6
$i=7
$i=8
$i=9
<?php for($i=0; $i<10; $i=$i+2): ?>
<div>$i=<?=$i?></div>
<?php endfor; ?>
$i=0
$i=2
$i=4
$i=6
$i=8
<?php for($i=10; $i>0; $i--): ?>
<div>$i=<?=$i?></div>
<?php endfor; ?>
$i=10
$i=9
$i=8
$i=7
$i=6
$i=5
$i=4
$i=3
$i=2
$i=1
<?php for($i=0; $i<10; $i++): ?>
<?php if ($i==0): ?>
<div>$i=0 Первая строка</div>
<?php elseif ($i>0 && $i<5 ): ?>
<div>$i=<?=$i?> Cтрока диапазона 1...4</div>
<?php if ($i==2): ?>
<div>...точнее строка 2</div>
<?php elseif ($i==4 ): ?>
<div>...точнее строка 4</div>
<?php else: ?>
<div>...точнее строка 1 или 3</div>
<?php endif; ?>
<?php elseif ($i==9): ?>
<div>$i=9 Последняя строка</div>
<?php else: ?>
<div>$i=<?=$i?> Cтрока диапазона 5...8</div>
<?php if ($i==5): ?>
<div>...точнее строка 5</div>
<?php elseif ($i==7 ): ?>
<div>...точнее строка 7</div>
<?php else: ?>
<div>...точнее строка 6 или 8</div>
<?php endif; ?>
<?php endif; ?>
<?php endfor; ?>
$i=0 Первая строка
$i=1 Cтрока диапазона 1...4
...точнее строка 1 или 3
$i=2 Cтрока диапазона 1...4
...точнее строка 2
$i=3 Cтрока диапазона 1...4
...точнее строка 1 или 3
$i=4 Cтрока диапазона 1...4
...точнее строка 4
$i=5 Cтрока диапазона 5...8
...точнее строка 5
$i=6 Cтрока диапазона 5...8
...точнее строка 6 или 8
$i=7 Cтрока диапазона 5...8
...точнее строка 7
$i=8 Cтрока диапазона 5...8
...точнее строка 6 или 8
$i=9 Последняя строка
<div><?='Привет, Мир!'?></div>
<br />
<div>Список участников:</div>
<!--Таблица-->
<div>----------------------------------</div>
<div>|<?=width_10('ID')?>|<?=width_10('ИМЯ')?>|<?=width_10('ФАМИЛИЯ')?>|</div>
<div>----------------------------------</div>
<?php foreach($rows as $key=>$row): ?>
<div class="<?=$row['user_active'] ? '' : 'no_active'?>">|<?=width_10($row['user_id'])?>|<?=width_10($row['user_name'])?>|<?=width_10($row['user_family'])?>|</div>
<?php endforeach; ?>
<div>----------------------------------</div>
Привет, Мир!
Список участников:
----------------------------------
| ID| ИМЯ| ФАМИЛИЯ|
----------------------------------
| 11| Андрей| Иванов|
| 121| Петр| Петров|
| 13| Алексей| Сидоров|
| 142| Сергей| Алексеев|
| 15| Герман| Степанов|
----------------------------------
Пример серверного кода в папке "_demo".
node server
http://localhost:2020
FAQs
PHP template preprocessor for nodejs
The npm package output-view receives a total of 0 weekly downloads. As such, output-view popularity was classified as not popular.
We found that output-view demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.