如何在ASP.Net核心MVC中使用yarn来在wwwroot文件夹中安装bootstrap

时间:2018-04-19 09:44:55

标签: asp.net-core-mvc bootstrap-4 yarnpkg

最近我开始学习ASP.Net核心MVC。我总是使用bower在Visual Studio 2017中为我的项目安装软件包。但现在我想使用yarn。因为看起来凉亭被弃用了。但我不知道如何使用纱线在wwwroot文件夹中安装bootstarp。对于凉亭,我使用了bower.json,它会自动安装bootstarp。我使用“yarn add bootstrap@4.0.0-alpha.6 --dev”但它将它安装在项目文件夹的node_modules中,我在解决方案资源管理器中看不到它, 感谢

1 个答案:

答案 0 :(得分:-1)

最好为Asp.net核心应用程序使用npm(包管理器),首先通过在vs2017中的解决方案资源管理器中右键单击项目名称并单击“add”=>来搜索并添加名为npm的包。在包中添加新项“,将引导程序添加为依赖项,如下所示,

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

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

下一步 ==>在项目中创建名为middleware的根文件夹,您将在 startup.cs 内的请求管道中构建自定义扩展/ midleware(这些将查看节点模块文件夹以提供文件),确保在app.UseStaticFiles()中间件(这些提供来自wwwroot文件夹的文件)下面放置名为app.UseNodeModules()的新扩展名,如下所示,

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中找一个名为“show all files”的解决方案资源管理器里面的图标并点击它,你会看到一个node_module文件夹,展开这个文件夹来查看bootstrap => dist => css,拖动bootstrap.css _Layout.cshtml中的开始和结束标记。

完成所有这些操作后,您可以开始使用bootstrap类为项目添加样式。