Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Как из консольного приложения сделать браузерное? (https://javascript.ru/forum/node-js-io-js/84053-kak-iz-konsolnogo-prilozheniya-sdelat-brauzernoe.html)

chessman2 21.05.2022 12:19

Как из консольного приложения сделать браузерное?
 
Сделал небольшой проект,
реализующий частотный англо-русский
на 7800 словарных статей.
Консольный вариант заточен под Node.js,
и работает как задумано.
Всего три файла.
// setup.js
exports.min = () => 0; // начало блока слов для запоминания
exports.size = () => 10; // количество слов в блоке

// enru.js
exports.tiles = [
["the", "определенный член, артикль"],
["and", "и; а"],
["that", "PRON. тот, та, то, те PL; (а. этот и т.д.); который и т.д.; 2) CJ. что; чтобы"],
["you", "PRON. PERS. ты, вы; тебя, вас; тебе, вам (часто to ~) и т.д."],
["of", "PRP. о, об (П); из (Р); от (Р); указывает на причину, принадлежность, объект действия, качество, источник; часто соответствует русскому родительному падежу; think ~ a TH. # думать о (П)"],
["me", "косвенный падеж от I: мне, меня; F я"],
["in", "PRP. COM. в, во (П/В); ~ 1"],
["to", "PRP. (указывает на направление движения, цель): к"],
//... еще 7800 записей
]


// main.js
// Usage: node main.js

"use strict";

const block = require('./setup.js');

const vocab = require('./enru.js');

const min = block.min();

const max = block.size() + min;

function generateRandom( min, max ) {
    let difference = max - min; 
    let rand = Math.random ();
    rand = Math.floor ( rand * difference );
    rand = rand + min;
	return rand;
}

const rndWord = generateRandom ( min, max );

console.log ( vocab.tiles[rndWord][0] );
console.log ( vocab.tiles[rndWord][1] );


Пробовал переделывать для запуска
в браузере через HTML c простейшим
вызовом через alert, открывается
только пустая страница с заголовком.

<!DOCTYPE HTML>
<html>
    <meta charset="utf-8" />
    <title>Частотный словарь</title>
<body>

	<script type="module" src='main.js'></script>	

</body>

</html>


JavaScript изучаю всего около недели. Много не ясно.
Прошу помощи в браузерной реализации словаря -
- в какую сторону копать ?

micscr 21.05.2022 16:09

Перепишите на браузерные модули или заюзайте webpack

Nexus 21.05.2022 17:47

Я бы все на сервере оставил, на клиенте (в браузере) реализовал бы только интерфейс для работы с этим приложением, ибо переносить на клиент многомерный массив длинною ~8к строк - приговорить его к медленной загрузке.

Signal 02.06.2022 09:58

так тебе не на nodejs надо было делать, так оно работать не будет
тебе надо в nodejs сделать http сервер, а вот в браузере уже и будешь обращаться к этому http серверу или лучше websocket сервер

ps. всмысле на nodejs ты сделал гут, только так в браузере его не заставишь работать, сама твоя прога на nodejs должна сидеть в памяти, т.е. всегда работать, а там как хочешь или http сервер поднимай на другом порту или websocket сервер, а в браузере уже клиента надо писать, который бы делал запросы к твоей проге на nodejs

pss. а 8к строк это сколько в мегабайтах?


Часовой пояс GMT +3, время: 04:11.