Nano Hash - криптовалюты, майнинг, программирование

Как использовать пакеты NPM с существующим проектом C#/MVC для развертывания git в Azure?

У меня есть довольно большое приложение .Net MVC. Код на стороне сервера полностью C#, и у меня есть тонны TS на стороне клиента. Все мои библиотеки JS находятся в каталоге Scripts, большинство из них помещаются туда пакетами Nuget. Все мои JS связаны с использованием System.Web.Optimization.ScriptBundles.

Мое приложение развернуто через Git в Azure.

Я хотел бы переключить все на использование NPM. У меня настроен NPM и установлены все необходимые модели. Лучше ли сейчас изменить мой ScriptBundle, чтобы он ссылался на сценарии из папки node_modules? Очевидно, что node_modules не является частью проекта, поэтому будут ли эти файлы копироваться в развертывании Azure?

Я буду добавлять мобильную (одностраничное приложение) версию сайта (в том же проекте), используя Webpack для объединения JS. Могу ли я также использовать веб-пакет для объединения JS для приложения MVC?

Спасибо, ~С


Ответы:


1

Итак, вы хотите использовать развертывание git и переместить все модули в репозиторий npm, а затем выполнить развертывание в веб-приложениях Azure, верно?

Веб-приложения Azure имеют внутреннюю среду выполнения с открытым исходным кодом, которая называется Kudu. Kudu отвечает за получение и извлечение вашего источника после того, как вебхук уведомит его о новом нажатии.

Как только kudu извлекает ваш исходный код, он начинает компиляцию и развертывание. Полезно знать, что kudu предоставляет крючки для изменения конвейера сборки и развертывания. Например, вы можете запустить npm install.

Вы можете прочитать о kudu и расширяемости здесь: https://github.com/projectkudu/kudu

https://github.com/projectkudu/kudu/wiki/Deployment

https://github.com/projectkudu/kudu/wiki/Custom-Deployment-Script

Вы должны иметь возможность найти там всю необходимую информацию.

11.05.2017
  • Да, я уже использую сценарий пользовательского развертывания для запуска своих миграций. Мой вопрос о том, как мне связать свой JS. 11.05.2017
  • ну, в основном вы просто восстанавливаете свои пакеты npm после развертывания и, да, ссылаетесь на все JS для использования модулей npm. Вы также можете использовать веб-пакет, вам просто нужно убедиться, что вы загружаете JS из правильного каталога. 26.05.2017
  • Новые материалы

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

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..