Coder Social home page Coder Social logo

loft3's Introduction

Домашнее задание курса Node.js (3 и 4)

Скриншот проекта

Для запуска:

  1. git clone https://[email protected]/krabaton/nodejs-hw34.git
  2. npm i (yarn)
  3. npm start

Для сборки проекта под Express(Koa.js) (папки public, source/template -> views):

npm run build

Он создаст папку со статикой public. Шаблоны Pug лежат в папке source/template

Проект состоит из трех страниц

  • index.html
  • login.html
  • admin.html

Итоговый url при обращении к странице должен быть без расширения html (пример: localhost/login) В сборке используется шаблонизатор PUG, но можно использовать любой другой на стороне сервера. npm run build создаст в папке public файлы html, которые можно использовать под шаблонизаторы hbs или ejs

На странице login.html - POST запрос url = '/login'

Отправляет на сервер поля

    {
      email,
      password
    }

На странице index.html - POST запрос url = '/'

Отправляется на сервер поля

    {
      name - 'Имя отправителя',
      email - 'Email пользователя',
      message - 'Сообщение от пользователя'
    }

На странице admin.html - POST запрос url = '/admin/upload'

Отправляется FormData объект на сервер с картинкой товара и описанием

    в поле photo - Картинка товара
    в поле name - Название товара
    в поле price - Цена товара

POST запрос url = '/admin/skills'

Отправляется поля на сервер с значением скиллов

    в поле age - Возраст
    в поле concerts - Концертов
    в поле cities - Число городов
    в поле years - Лет на сцене
Домашние задание №3 - реализовать серверную часть на Express.js
Домашние задание №4 - реализовать серверную часть на Koa.js

Данные хранить на сервере в JSON файле, можно использовать пакет nconf или LowDB на свое усмотрение

Примечание

  • модульный сборщик browserify для клиентского js. ES6 подключено.
  • обратите внимание, что в файлах template.pug
    link(rel="stylesheet" href="/assets/css/foundation%=suffix=%.css%=version=%")
    link(rel="stylesheet" href="/assets/css/app%=suffix=%.css%=version=%")

    script(src="/assets/js/foundation%=suffix=%.js%=version=%" defer)
    script(src="/assets/js/app%=suffix=%.js%=version=%" defer)

%=suffix=% и %=version=% подставляются автоматически сборкой и заменяет их

<link rel="stylesheet" href="/assets/css/foundation.min.css?rel=0.0.1" />
<link rel="stylesheet" href="/assets/css/app.min.css?rel=0.0.1" />
<script src="/assets/js/foundation.min.js?rel=0.0.1" defer></script>
<script src="/assets/js/app.min.js?rel=0.0.1" defer></script>

Вам при переносе в проект шаблонов Pug надо будет заменить самостоятельно

    link(rel="stylesheet" href="/assets/css/foundation.min.css")
    link(rel="stylesheet" href="/assets/css/app.min.css")

    script(src="/assets/js/foundation.min.js" defer)
    script(src="/assets/js/app.min.js" defer)
  • jQuery есть и можно использовать
  • JS не используется для отправки форм, все выполняется нативно браузером. Хотите пишите самостоятельно клиентский код
  • Для ответов с сервера есть поле .status в каждой форме. Чтобы туда отправлять ответы от сервера используйте пакет connect-flash
  • проект можно немного подпиливать под себя

loft3's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.