Подтвердить что ты не робот

Тип проекта JavaScript для Visual Studio?

У меня есть задачи, связанные с созданием библиотеки JavaScript, которая затем будет использоваться несколькими проектами в решении Visual Studio. В идеале я хотел бы найти тип проекта, который для моего кода JavaScript будет вести себя так, как если бы это была библиотека классов С#, то есть:

  • Он будет "компилировать" (minify, check by Closure,...) код JavaScript в некоторый вывод **. js * file
  • Этот вывод может быть "привязан" к другим проектам, например. по проекту ASP.NET MVC
  • Я мог бы указать "порядок сборки" моих проектов (стандартная функция VS)

Возможно ли это с VS 2010/11 или мне нужно написать некоторые файлы BAT/PowerShell и script он сам?

Подобный, но немного другой вопрос: Шаблон проекта Visual Studio для JavaScript/VBScript?

4b9b3361

Ответ 1

Основываясь на моем опыте разработки Asp.Net MVC, Visual Studio имеет ограниченную поддержку JavaScript. Я предполагаю, что вы можете сделать, чтобы подражать поведению, которое вы хотите:

  • Создайте проект для хранения ваших файлов JavaScript, возможно, проект библиотеки классов, на самом деле это не имеет значения, если он поддерживает Build Events. Поместите свои файлы JavaScript в новый проект.

  • Создайте шаг создания публикации в этом проекте, чтобы свести к минимуму ваш JavaScript с помощью внешнего инструмента. Я использую YUI Compressor. Шаг post post должен содержать строки, похожие на следующие:

    java -jar $(ProjectDir) Скрипты \yuicompressor-2.4.7.jar $(SolutionDir) Скрипты \yourJsFile.js -o $(SolutionDir) Скрипты \yourJsFile.min.js --charset utf-8

  • Включите этот новый проект в свое решение. Затем для ваших проектов Asp.Net настройте свои активные серверные страницы так, чтобы они ссылались на файлы JavaScript, я использую синтаксис Razor в качестве примера. Это может быть сложно определить конкретный путь:

@if (@Model.IsDebug)
{
<script src="@Url.Content("~/Scripts/yourJsFile.js")"  type="text/javascript"> </script>
}
else
{
<script src="@Url.Content("~/Scripts/yourJsFile.min.js")"  type="text/javascript"></script>
}

Снова может оказаться сложным убедиться, что вы можете точно ссылаться на файлы JavaScript из вашего проекта Asp.Net. Но я уверен, что есть способ сделать это. Возможно, вы можете создать свой пост-пост, скопировав файлы JavaScript в какое-то общее место. Если вы это сделаете, вы также захотите отметить событие post build в своем проекте JavaScript как "Always Run", поэтому файлы JavaScript всегда копируются.

Ответ 2

Хороший вопрос (+1). Я решил разместить все файлы javascript для разделения проекта javascript и использовать связанные файлы в нужные файлы js в проекте web/mvc.

Таким образом, вы получаете возможность использовать управление subversioning со стороны проекта javascript, а также уплотнение и слияние js файлов со стороны отдельных общих проектов с использованием всех доступных инструментов.

Ответ 3

Мне это очень интересно! Пожалуйста, @комментарий для меня, если кто-нибудь придумает другие/лучшие идеи.

Вариант 1: Веб-проект ASP.NET с веб-Essentials

Если вам просто нужен проект javascript на передней панели, это простой вариант. Web Essentials прост в использовании и установке в Visual Studio. Вы можете использовать это для легкой минимизации. Затем вы можете использовать Qunit для тестирования. Это довольно легкая и легкая точка входа в клиентскую часть javascript.

Вариант 2: Node.js Инструменты для Visual Studio

Используйте Node.js Инструменты для Visual Studio. Это даст вам шаблоны проектов для многих из этих хороших вещей. Вы можете не использовать Node.js, особенно если вы просто создаете js-библиотеку на стороне клиента, но Node.js полезно для тестирования, и вам нужно/нужно npm для установки всех других хороших вещей, упомянутых в мой первоначальный ответ (Вариант 3).

С этим связано множество настроек. Это может стать препятствием для входа для некоторых разработчиков .NET.

Вариант 3: Проект веб-сайта

Вот что я сделал в прошлом:

введите описание изображения здесь

Я фактически создал этот проект в Eclipse! (Не ненавидите меня). Позже я создал решение Visual Studio с проектом веб-сайта. Я установил Node.js, который, конечно, не требуется, но я использовал его как легкий веб-сервер.

Затем вы можете использовать Nuget или Bower для установки других вещей, таких как:

  • require.js для управления модулем
  • жасмин для модульного тестирования
  • grunt или gulp для сборки (минимизации)
  • Вы можете установить jslint или jshint для исправления кода.

Не все эти вещи требуются. Я думаю, что Bower интегрирован в Visual Studio 2015. Некоторые из них потребуют сборки командной строки, но очень мало команд для запуска после его настройки.