Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите с программой клиент-сервер (https://javascript.ru/forum/misc/76748-pomogite-s-programmojj-klient-server.html)

JbanS 09.02.2019 20:19

Помогите с программой клиент-сервер
 
Помогите пожалуйста написать программу "клиент-сервер":help:
Нужно для зачета сдать. Поэтому нужно что-то очень простое(регистрация и вход проверяющий есть ли такой пользователь).
Я понял как сделать серверную часть(Регистрацию с полями в HTML), но вот с серверами никогда не сталкивался. 4 часа ушло на то, чтоб установить Node.js и попробовать сделать программу "ninja store" из примера 2012 года, и как оказалось все уже по другому,
вместо "npm install express -g", нужно "npm install -g express-generator", но все равно появляется другая ошибка с "--sessions". Как написали в комментах под примером, все уже очень изменилось. И вот не знаю, как новичку написать программу клиент-сервер(локальный), если даже примеры устарели и не запускаются.

Malleys 09.02.2019 21:25

Цитата:

Сообщение от JbanS
4 часа ушло на то, чтоб установить Node.js

Как же вам так удаётся так. Я делал как, как написано в инструкции на официальном сайте node.js (хотя можно было через установщик (идеально для Уиндозы) node.js) в общем это заняло не больше 5 мин.

Насчёт примера ninja-store всё нормально работает...

Может вы что-то не так запускали... вот что я ввёл в терминале(nodejs уже установлен)

Код:

➜ git clone https://github.com/hacksparrow/ninja-store.git
оно скачало проект в папку

Код:

➜ cd ninja-store
я перешёл в эту папку с проектом

Код:

➜ npm install
Подгрузил все зависимости (немного подождите, пока загрузится)

И затем запустил (можно подглядеть в package.json что можно запускать, но на самом деле всё проще, достаточно набрать в терминале npm run (пробел) и нажать Tab чтобы выбрать подходящий вариант(если есть, обычно только start или просто набрать npm start))

Код:

ninja-store on  master [!?] is 📦 v0.0.1 via ⬢ v10.15.0 took 5s
➜ npm start

> application-name@0.0.1 start /Users/valentin/ninja-store
> node app

Express server listening on port 3000
Error: /Users/valentin/ninja-store/views/layout.jade:1
  > 1| doctype 5
    2| html
    3|  head
    4|    title= title

`doctype 5` is deprecated, you must now use `doctype html`

Получилась ошибка, когда я открыл в браузере, но я сделал, то что требовалось (заменил в layout.jade `doctype 5` на `doctype html` и всё! Да, получилась ошибка, поскольку в package.json не была указана конкретная версия jade)

Так вы можете запускать любой nodejs проект (или я что-то делаю не так?) в интернете полно примеров https://www.google.us/search?q=simpl....js+app+github как приложение с использованием Express.js и в документации тоже всё хорошо написано, как работать с express https://expressjs.com/ (Правда это всё бессмысленно, если вы не можете читать и понимать прочитанное на английском языке)

JbanS 09.02.2019 22:38

Цитата:

Сообщение от Malleys
Как же вам так удаётся так. Я делал как, как написано в инструкции на официальном сайте node.js (хотя можно было через установщик (идеально для Уиндозы) node.js) в общем это заняло не больше 5 мин.

Я скачал и установил за 5 минут, 3 часа 55 минут я пытался запустить пример. И сейчас у меня опять ошибка уже в другом примере:

internal/modules/cjs/loader.js:583
throw err;
^

Error: Cannot find module './config/passport'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.<anonymous> (C:\Users\Ivan\Desktop\client server\site-auth\app.js:
13:1)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
Нашел похожую ошибку с (passport-local), которая решилась с помощью "npm install passport-local", но в моем случае './config/passport'

JbanS 10.02.2019 00:57

Ну я делаю по поэтапному уроку, что бы понять что как делается. И вечно на каком-то этапе возникают ошибки, то обновить что-то, то чего-то нет. Хотя все по уроку делаю. Копировать с гет хаба не пробовал, хочу сам разобраться и запустить чтоб работало все.

JbanS 10.02.2019 00:59

Цитата:

Сообщение от Rise
JbanS, а что обязательно Node.js надо, PHP не подойдет?

У меня есть готовый вариант на питоне, но я хочу научиться писать на JS.

JbanS 10.02.2019 02:13

Цитата:

Сообщение от Malleys
Получилась ошибка, когда я открыл в браузере, но я сделал, то что требовалось (заменил в layout.jade `doctype 5` на `doctype html` и всё! Да, получилась ошибка, поскольку в package.json не была указана конкретная версия jade)

Не знаю можно ли вставлять тут ссылки, но по названию "site-auth", урок с программой клиент-сервер, выдает первым. Не могли бы вы, пожалуйста, посмотреть где ошибка в коде, потому что при запуске выдает ошибку:
internal/modules/cjs/loader.js:583
throw err;
^
Error: Cannot find module './config/passport'
А очень хочется посмотреть как выглядит программа.

рони 10.02.2019 08:37

Цитата:

Сообщение от JbanS
Не знаю можно ли вставлять тут ссылки

можно, если это безопасная ссылка, а не вирус или скрытая реклама казино.

JbanS 10.02.2019 23:51

Цитата:

Сообщение от Malleys
Что так трудно ссылку дать на этот урок?

https://code.tutsplus.com/ru/tutoria...-up--cms-29933
Судя по тому что в интернете ни у кого нет идентичной ошибки, этот урок либо не популярен, либо что-то устарело с года его написания. Ну либо я накосячил, но я 3 раза все с нуля сделал, и всегда одна и та же ошибка, как будто должен быть файл "passport", а в уроке про него не написали ни слова.

Malleys 11.02.2019 01:15

Цитата:

Сообщение от JbanS
я пытался запустить пример

А как именно вы это делаете?

Цитата:

Сообщение от JbanS
я делаю по поэтапному уроку

Цитата:

Сообщение от JbanS
но по названию "site-auth", урок с программой клиент-сервер, выдает первым

Что так трудно ссылку дать на этот урок?

Да, в том уроке некоторые вещи не написаны!

В файле app.js строка require('./config/passport') не нужна. Также вместо
mongoose.connect('mongodb://localhost:27017/site-auth');
должно быть
mongoose.connect('mongodb://localhost:27017/site-auth', {
  useMongoClient: true
});
и конечно же у вас должен быть установлен и запущен MongoDB. А сам пример не доделан, там только регистрация есть, а логин предполагается вам написать! Как там в конце написано «Далее вы увидите, как реализовать возможность входа в систему для зарегистрированных пользователей» Правда не понятно, где продолжение.


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