使用更少覆盖 .net core 2.0 中的引导程序



在古老的 ASP.NET 中,我们将Bootstrap安装为NuGet包,它将安装~/Content/bootstrap目录中的所有文件。这使得创建导入 Bootstrap 的自定义bootstrap.less文件变得容易,这样我们就可以覆盖我们想要的内容,同时仍然保持库完好无损,以便可以随时更新。

例如,我可以在我的自定义 less 文件中执行此操作,以启用具有一些自定义变量和覆盖的特殊引导表主题。然后我可以编译它并将其添加到站点 css 中。

@import "bootstrap/bootstrap.less"; @import "bootstrap/_variables.less"; @import "bootstrap/_bootswatch.less"; @import "custom.less";

在 dot net core 2.0 中,默认情况下没有~/Content目录,css 实际上是从新的wwwroot目录中提供的。现在通过 NuGet 安装引导程序时,它会作为"依赖项"添加。我找不到像以前那样导入引导程序较少文件的方法,因为我不知道路径,如果有的话。

我创建了一个自定义~/Styles/bootstrap.less文件,我尝试在其中使用上面的导入,但编译器找不到它们。我在解决方案根目录中找到了/packages/bootstrap.less.3.3.7/content/Content/bootstrap.less中的.less文件,但import语句似乎无法访问这些文件。

@import '../../packages/bootstrap.less.3.3.7/content/Content/bootstrap.less';

我得到的错误很简单:

文件错误:"../..找不到/packages/bootstrap.less.3.3.7/content/Content/bootstrap.less'。

已尝试 - [SOLUTIONPATH]\packages\bootstrap.less.3.3.7\content\Content\bootstrap.less,

....\packages\bootstrap.less.3.3.7\content\Content\bootstrap.less in \Styles_bootstrap.less

如何覆盖无引导文件?我是否必须自己将引导程序下载到我的~/Styles/目录中才能导入它们?这将破坏通过NuGet更新的可能性:/

.net core已停止支持Nugets的客户端代码。默认情况下,使用 vs 2017 或使用 clidotnet new mvc创建新的 .net 核心项目将包含 wwwroot/lib 文件夹中的 bower 包。要管理bower包,您可以右键单击项目并选择"管理bower包"。另请注意,默认情况下,.net Core mvc 仅配置为使用 wwwroot 文件夹作为客户端内容。除此之外,编译的视图是提供给客户端的唯一其他内容。这意味着,默认情况下,您创建的"样式"或"内容"文件夹不是客户端代码。您可以在设置中添加这些文件夹,但不建议这样做。js和css文件可以在wwwroot内的文件夹中找到。

最新更新