2016-10-30 9 views
0

Учебник по машинописному машиностроению для создания приложения ASP.Net Core (с угловым или без него) предлагает создать папку Scripts и использовать задачу gulp для копирования только файлов .js в папку wwwroot, например. во время сборки.Где должны находиться файлы .html, .css и т. Д. Для Typcript + Angular 2 + ASP.Net Core 1.0?

Теперь это имеет смысл, но что мы делаем со всеми файлами .html, .css и т. Д., Которые могут использовать угловые 2. Кажется, что есть, как правило, два способа сделать это:

  1. Добавление их в wwwroot папку.

    • Преимущество: нет необходимости добавлять задачи глотка для этих статических файлов

    • Недостатки: мы должны дублировать структуру папок и делать операции копирования/переименование/и т.д. дважды

  2. Держа их в папке Scripts вне wwwroot (тогда мы бы лучше переименовать его в Source или что-то в этом роде.

    • Преимущество: отсутствие дублирования, все в одном месте

    • Недостатки: мы должны скопировать их wwwroot в глотке задаче

В случае 2 wwwroot становятся подобно bin папка для обычного применения.

Есть ли какие-либо официальные рекомендации/советы по этой теме (я не смог их найти), которые я могу использовать в качестве ссылки?

ответ

1

Обычно люди используют метод 2, хотя большинство людей (включая меня) называют папку «приложение», а не «источник» или «скрипты» и копируют их через глоток.

Одной из причин этого является то, что мы можем исключить папку wwwroot из управления исходным кодом. Другое из того, что для производства вы хотите связать свои файлы (как html, css, так и полученные файлы .js), поэтому ваша папка wwwroot будет содержать разные данные, в зависимости от того, разрабатываете ли вы ее или развертываете.

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

Для конкретных углов вы хотите сохранить * .html, * .ts, * .js и * .css (только те, которые связаны с компонентами) в одной и той же папке/подпапке. Visual Studio автоматически сгруппирует их вместе (то есть , sample.component.ts, sample.component.css и sample.component.js будут сгруппированы вместе, и вы сможете развернуть их, нажав маленький треугольник рядом с сгруппированным именем), и он хорошо работает для группировки в виде углового2 css/template можно сделать использовать component relative path, если вы используете загрузчик модуля (рекомендуется!).

+0

Спасибо за исчерпывающий ответ. Я тоже так думал, тогда наш «wwwroot» становится действительно аналогом папки «bin», которую мы никогда не хотим в управлении версиями. Поскольку вы упомянули о связке, что есть хорошая идея, мне было интересно, можете ли вы помочь с комплектом css. Все описано, как связать html, но скомпилировать css, который я вообще не могу найти (мы не можем использовать обычный пакет css-файлов, поскольку угловые потребности в их обработке). Сделали отдельный вопрос http://stackoverflow.com/questions/40283535/how-to-bundle-angular-2-component-css, но не получили ответа там. –

0

Я не чувствую глоток как полезный инструмент, поэтому не используйте его в своем шаблоне (ядро ng2 + material + asp.net). , но вам нужно помнить, что нужно запустить «npm start», чтобы скомпилировать любые изменения ng2 перед запуском «dotnet run».

вот мой шаблон можно попробовать следующий способ: https://github.com/Longfld/ASPNETCoreAngular2