Создание проектов с помощью Yeoman

Scott Addie, Rick Anderson, Noel Rice и Shayne Boyer

Yeoman генерирует проекты из заданного набора клиентских инструментов. Yeoman имеет открытый исходный код и работает наподобие шаблона Visual Studio. Инструментарий командной строки Yeoman yo работает наряду с Yeoman генератором. Генераторы определяют технологии для работы с проектом.

Установка Node.js, npm и Yeoman

  • Установите Node.js. Установщик включает в себя Node.js и npm.
  • Следуйте инструкциям на http://yeoman.io/learning/, чтобы установить yo, bower, grunt и gulp.
    • npm install -g yo bower

Примечание

Если у вас появилась ошибка npm ERR! Please try running this command again as root/Administrator., запустите следующую команду, используя sudo: sudo npm install -g yo bower grunt-cli gulp

  • Из командной строки установите ASP.NET генератор:
npm install -g generator-aspnet

Примечание

Если у вас появилась ошибка разрешения, запустите команду под sudo, как показано выше.

  • С помощью –g генератор устанавливается глобально, так что его можно использовать из любого пути.

Создание ASP.NET приложения

  • Создайте директорию для проекта
mkdir C:\MyYo
cd C:\MyYo
  • Запустите ASP.NET генератор для yo
yo aspnet
  • Генератор отобразит меню. Спуститесь к проекту Web Application и нажмите Enter:
../_images/yeoman-yo-aspnet.png
  • Назовите приложение “MyWebApp” и нажмите Enter :

Yeoman проведет скаффолдинг проекта и его поддерживающих файлов.

../_images/yeoman-yo-aspnet-created.png

ASP.NET генератор создает ASP.NET Core проекты, которые могут быть загружены в Visual Studio или запускаться из командной строки.

Следуйте предложенным командам, меняя директории на директорию EmptyWeb1. Затем запустите dotnet restore.

../_images/dotnet-restore2.png

Соберите и запустите приложение с помощью dotnet build и dotnet run:

../_images/dotnet-build-run.png

Теперь вы можете перейти по URL и протестировать приложение.

Клиентские пакеты

Фронт-энд ресурсы предлагаются шаблонами из генератора yeoman с помощью менеджера пакетов Bower, когда вы добавляете bower.json и .bowerrc для восстановления пакетов.

Компонент BundlerMinifier также включен по умолчанию для связывания и минимизации CSS, JavaScript и HTML.

Сборка и запуск из Visual Studio

Вы можете загрузить ASP.NET 5 проект напрямую в Visual Studio, а здесь собрать и запустить проект.

  1. Откройте Visual Studio. Из меню File выберите Open ‣ Project/Solution.
  2. В диалоговом окне Open Project перейдите к файлу project.json и нажмите кнопку Open. В Solution Explorer проект должен выглядеть вот так.
../_images/yeoman-solution.png

Примечание

Yeoman проводит скаффолдинг MVC веб приложения, поддерживая серверную и клиентскую сборку. Серверные зависимости перечислены в References, а клиентские зависимости - в Dependencies в Solution Explorer. При загрузке проекта зависимости восстанавливаются автоматически.

../_images/yeoman-loading-dependencies.png
  1. После восстановления всех зависимостей нажмите F5, чтобы запустить проект. В браузере отобразится домашняя страница.
../_images/yeoman-home-page.png

Восстановление, сборка и хостинг из командной строки

Вы можете подготовить и захостить веб приложение, используя используя интерфейс командной строки `.NET Core`_.

Из командной строки смените текущую директорию на папку, содержащую проект (ту, где содержится файл project.json):

cd C:\MyYo\MyWebApp

Из командной строки восстановите пакеты NuGet:

dotnet restore

Запустите приложение:

dotnet run

Кроссплатформенный сервер Kestrel будет слушать по порту 5000:

Откройте браузер и перейдите на http://localhost:5000.

../_images/yeoman-home-page_5000.png

Добавление проекта с помощью подгенераторов

Вы можете добавить сгенерированные файлы с помощью Yeoman даже после создания проекта. Используйте подгенераторы. Например, чтобы добавить в проект новый файл, введите команду yo aspnet:Class, за которой следует имя класса. Выполните эту команду из директории, в которой должен быть создан файл:

yo aspnet:Class Person

В результате у вас появится файл Person.cs с классом Person:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace MyNamespace
{
    public class Person
    {
        public Person()
        {
        }
    }
}
Поделись хорошей новостью с друзьями!
Следи за новостями!