Вопрос по asp.net-core-mvc, bootstrap-4, yarnpkg – @AminLotf, я думаю, что самое простое решение до релиза VS2017 15.8.x (с Microsoft Library Manager) - просто скопировать полные папки lib distirb из шаблона ASP.NET Core MVC (wwwroot / lib). Это заставит Intellisense работать.

0

но я начал изучать ASP.Net ядро ​​MVC. Я всегда использовал bower для установки пакетов для своих проектов в Visual Studio 2017. Но теперь я хочу использовать пряжу. поскольку кажется, что беседка устарела. но я не знаю, как использовать пряжу для установки bootstarp в папке wwwroot. для bower я использовал bower.json, и он автоматически установил bootstarp. Я использую «yarn add [email protected] --dev», но он устанавливается в node_modules в папке проекта, и я не вижу его в обозревателе решений, спасибо

Ваш Ответ

1   ответ
0

ия Asp.net, начните с поиска и добавления пакета с именем npm, щелкнув правой кнопкой мыши на имени вашего проекта в обозревателе решений в vs2017 и нажав «добавить» => добавить новый элемент » внутри пакета добавьте загрузчик в качестве зависимости, как показано ниже,

{
  "version": "1.0.0",
  "name": "nameofyourapplicationinsmallcaps",
  "private": true,
  "devDependencies": {
  },

  "dependencies": {
    "bootstrap": "4.1.0"
  }
}

следующий ==> Создайте корневую папку в своем проекте с именем middleware, вы будете создавать собственное расширение / midleware (они будут смотреть в папку модуля узла для обслуживания файлов) в ваших конвейерах запросов внутриstartup.cs убедитесь, что вы разместили новое расширение, которое может называться app.UseNodeModules (), под промежуточным программным обеспечением app.UseStaticFiles () (оно подает файлы из папки wwwroot), как показано ниже,

app.UseStaticFiles (); app.UseNodeModules (env.ContentRootPath);

В папке промежуточного программного обеспечения добавьте класс, который может называться ApplicationBuilderExtensions.cs, вы создадите app.UseStaticFiles () с его собственным путем запроса, указывающим на пакет npm, добавьте к классу нижеприведенное (вы не будете использовать значение по умолчанию). app.UseStaticFiles ()),

using Microsoft.Extensions.FileProviders;
using System.IO;

namespace Microsoft.AspNetCore.Builder
{
    public  static class ApplicationBuilderExtensions
    {
        public static IApplicationBuilder UseNodeModules(this IApplicationBuilder app , string root)
        {
            var path = Path.Combine(root, "node_modules");
            var fileprovider = new PhysicalFileProvider(path);
            var options = new StaticFileOptions();
            options.RequestPath = "/node_modules";
            options.FileProvider = fileprovider;
            app.UseStaticFiles(options);
            return app;
        }
    }
}

следующий ==> найдите значок в вашем обозревателе решений в vs2017 с именем "показать все файлы" и щелкните по нему, вы увидите папку node_module, разверните эту папку, чтобы просмотреть bootstrap => dist => css, перетащите файл bootstrap.css в между открывающим и закрывающим тегом head в вашем _Layout.cshtml.

Сделав все это, вы можете начать использовать классы начальной загрузки для добавления стилей в ваш проект.

@AminLotf, я думаю, что самое простое решение до релиза VS2017 15.8.x (с Microsoft Library Manager) - просто скопировать полные папки lib distirb из шаблона ASP.NET Core MVC (wwwroot / lib). Это заставит Intellisense работать. intox
Спасибо @ Eniola.A за полное описание. Я сделал это, и это сработало! но таким образом я не могу использовать IntelliSense для начальной загрузки. как насчет пряжи тогда? потому что я видел много тем о миграции с нпм на пряжу Amin Lotf
Рад быть полезным брув ... Eniola.A
В любом случае, ваш ответ избавил меня от головной боли :) и это расширение было интересным. Я узнал что-то новое Amin Lotf
@ AminLotf, извини, я действительно не использую пряжу, но я рад, что npm работал на тебя. Vs2017 достаточно умен, чтобы начать вспоминать различные ранее используемые классы, и именно так я обошел его, хотя я ищу способы добавить intellisense для начальной загрузки в vs2017, я мог бы использовать его в vs2015. Eniola.A

Похожие вопросы