如何在ASP.Net Core 2.0应用中引用通过NuGet安装的Bootstrap?
解决ASP.NET Core 2.0中通过NuGet引用Bootstrap的问题
嘿,我来帮你搞定这个困扰!ASP.NET Core 2.0确实弃用了Bower,改用NuGet装Bootstrap后,文件存放路径和之前Bower的完全不一样,所以直接用旧路径肯定找不到资源。下面给你几种实用的解决办法,按需选择就行:
方法一:手动迁移NuGet包文件到wwwroot
NuGet会把Bootstrap安装在项目根目录的packages文件夹里,而ASP.NET Core默认只会从wwwroot目录读取静态资源,所以我们需要把文件移过去:
- 找到Bootstrap的安装位置:一般在
你的项目根目录\packages\bootstrap.版本号\content\Content(存放CSS文件)和\content\Scripts(存放JS文件) - 在项目的
wwwroot下新建lib/bootstrap文件夹,把上面找到的CSS、JS文件分别复制进去 - 之后就能像之前用Bower那样引用了:
<link href="~/lib/bootstrap/css/bootstrap.css" rel="stylesheet" /> <script src="~/lib/bootstrap/js/bootstrap.js"></script>
方法二:用LibMan管理前端包(官方推荐更省心)
虽然你用了NuGet,但ASP.NET Core官方更推荐用LibMan来管理前端依赖,它可以直接从NuGet源拉取Bootstrap并自动放到wwwroot:
- 右键项目 → 添加 → 客户端库
- 在弹出的窗口里,源选择
NuGet,搜索框输入bootstrap,选中你需要的版本 - 目标位置设置为
wwwroot/lib/bootstrap,点击「安装」 - 安装完成后,同样可以用上面的路径引用,后续更新包也很方便
方法三:直接引用CDN(最简洁,适合快速开发/生产环境)
如果不想折腾本地文件,直接用CDN引用Bootstrap是最省事的,代码也最简洁:
<!-- 引用Bootstrap CSS --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <!-- 引用Bootstrap JS(需要先引用jQuery) --> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
注意:Bootstrap依赖jQuery,所以要先引用jQuery的CDN哦。
小提示:其实NuGet主要是用来管理.NET类库的,前端依赖还是用LibMan或者npm更贴合ASP.NET Core的设计,不过如果你坚持用NuGet,方法一完全能解决问题~
内容的提问来源于stack exchange,提问作者Ray
相关产品推荐
相关产品推荐

