• entries
    8
  • comments
    0
  • views
    10,313

1.3 Среда разработки проекта. Руководство верстальщика

klierik

924 views

1 Технические требования к среде разработки

Дорогой читатель, проект, который реализуется в рамках данного обучения, имеет определённые требования к среде разработки. Нам потребуется использовать препроцессоры, инструменты оптимизации и проверки кода.

По мере того, как вес веб-страницы в реалиях соверменного мира растёт, в выиграше остаются те, у которых вес и скорость загрузки страниц меньше, чем у конкурентов. Мы создадим инструмент, который позволит "не лету" обрабатывать и оптимизировать наш код,  уменьшая его в размере и времени загрузки.

1.1 Node.js

Для сборки проекта нам понадобится установленный Node.js версии LTS (на момент публикации данной статьи версия node.js — 8.11.1). В качестве менеджера версий использовался nvm

Когда оба ПО установленны выполняем в терминале следующую команду

$ nvm install --lts
Installing latest LTS version.
Downloading and installing node v8.11.1...
Downloading https://nodejs.org/dist/v8.11.1/node-v8.11.1-darwin-x64.tar.gz...
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v8.11.1 (npm v5.6.0)

И в итоге будет использованна актуальная LTS версия Node.js

1.2 GulpJS

В качестве сборщика в данном обучении будет использоватся GulpJS. Данный инструмент выбран как наиболее подходящий для данной задачи.

В следующей статье разговор пойдёт о создании сборщика. Я настоятельно рекомендую посмотреть замечательный Cкринкаст по GulpJS что бы понимать в будущем что мы будем делать и как это работает.

Скрытый текст

 

После уставки Gulp локально и глобально их версии, на момент публикации данной статьи, были следующие:

$ gulp -v
[20:16:35] CLI version 2.0.1
[20:16:35] Local version 3.9.1

2. Организация структуры файловой системы

В данном разделе я даю общие рекомендации по организации структуры файловой системы (в рамках реализации нашего проекта). Но, хочу обратить ваше внимание на то, что описанные рекомендации могут изменятся в зависимости от проекта.

Так как в рамках задачи нам следует создать только вёрстку, без её интеграции в серверный код, наша структура будет достаточно простая:

.
├── assets/			- ресурсы
│   ├── images/			- картинки
│   ├── js/			- js-скрипты проекта
│   └── scss/			- стили проекта
├── .gitignore			- список ресурсов, которые не следует добавлять в GIT
├── gulp/
│   ├── .csscomb.json		- файл настроек cssComb
│   ├── .eslintrc 		- файл настроек eslint https://goo.gl/4K6TyF
│   ├── config.js		- файл настроек задач и пакетов Gulp
│   └── tasks/			- задачи Gulp
├── gulpfile.js			- основной файл конфигурации Gulp
├── node_modules/		- npm пакеты
├── package-lock.json
├── package.json		- файл, в котором описана информация о проекте и версиях пакетов, которые используются в проекте
├── public/			- директория, в которую будут генерироватся обработанные/сжатые ресурсы
└── templates/			- html шаблоны

3. Структура HTML файлов

За основу типичного html-файла взят пример от Bootstrap, описанный в документации:

Скрытый текст

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">

    <title>Hello, world!</title>
  </head>
  <body>
    <h1>Hello, world!</h1>

    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script>
  </body>
</html>

 

Все html-файлы в данном материала так или иначе будут основыватся на эту структуру.

Добра и удачи ?



0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Пишут сейчас

    • есть внешний  блок с  фоновой  картинкой  на весь блок а внутри него  блок с контентом  2 вопроса  как переместить этот блок с контентом  так как мне нужно - почему- то все смещается вместе с фоном и еще как сделать так чтобы остальная часть листвы бамбука была видна сайт http://frontend-er.h1n.ru/asia-spa/
    • Добрый вечер! Помогите пожалуйста понять почему  при использовании сетки у меня вторая колонка не отображается пока ей не поставишь ширину 100%?  Разве она не должна подстраиваться под размер автоматом? вот мой код https://jsfiddle.net/gzf1hkc0/  в нем navbar с двумя колонками. проблема со второй колонкой. пс. в коде уже стоит ширина второй колонки 100%, но как я понимаю самому прописывать ее не надо и раз так может я что то не так сделал? заранее спасибо за то что уделили внимание моему вопросу)   
    • А как должен выглядеть не типовой сайт? Можете пример показать?
  • Popular Contributors