我正在开发一个ASP.Net Core 1.0站点项目,我从RC1继承它...我们现在通过启动一个带有最新模板的新项目并迁移代码,将它移动到.NETCoreApp ver 1.0过度。 95%现在除了signalR(当然)和一些UI细节之外都有效...(这种'gulp'和'sass'的全新方式都让人感到困惑。)
所以,我的网站正在运行,但是当我点击应该打开模态的内容时,它几乎立即消失。从我读到的(以及之前在MVC 5中所做的)是我必须包括两次引导包或以某种方式引用它两次。
以前,在MVC 5中,_Layout会有类似的内容:
@Scripts.Render("~/bundles/bootstrap")
然后在App_Start / BunfleConfig.cs中将是:
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap.js",
"~/Scripts/respond.js"));
以及这种方式的各种CSS ...
在'新'中,我无法理解整个gulp
-to-wwwroot进程和project.json控制在publishOptions中包含/排除的内容......我不知道我是来还是去......
基本上,我的模态会立即打开和关闭...引导程序包括两次?...如何调查?
在哪里包含bootstrap / jquery?在Bower或NPM下?
我运行gulpfile方法来缩小并将js / css / sass移动到wwwroot区域:
答案 0 :(得分:0)
我无法理解整个gulp-to-wwwroot进程和project.json控制在publishOptions中包含/排除的内容...我不知道我是否要来或去......
你能发布你的gulpfile吗?另外,这是project.json的参考:https://docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json#publishoptions
如果您认为bootstrap被包含两次,那么可能会有很多事情导致它。我会列出其中的一些。
您可以将所有资源合并到一个文件中,也可以单独包含它。检查_Layout.cshtml中的.js和.css引用。例如,gulp可能会将bootstrap和所有其他lib组合成site.js之类的东西。如果你包含site.js并且它已经包含bootstrap,请确保你不再包括bootstrap.js。
您可能在_Layout.cshtml文件中有bootstrap.js,在视图页面(Index.cshtml等)中也有。
我要尝试的另一件事是当你浏览遇到问题的页面时,查看页面的来源,看看你是否注意到引导程序被包含在那里两次。如果它只在那里一次,尝试删除它,看看是否能解决问题 - 这可能暗示它已被包含在gulp任务中。
在哪里包含bootstrap / jquery?在Bower或NPM下?
我与之交谈过的很多人都开始放弃Bower并且只使用NPM。它们仍然有效,我相信默认模板仍然包含在Bower中。但是,我刚刚在我的一个项目中将我的所有内容都移到了NPM。这样做确实增加了一些复杂性,因为你必须更多地调整gulpfile以将所有内容移动到正确的位置。我发现使用Bower更容易使用Bootstrap,jQuery等......但是那就是我。