2017-07-04 51 views
0

我正在使用Swashbuckle NuGet包为我的API创建Swagger文档。 https://www.nuget.org/packages/Swashbuckle无法使用Swashbuckle/Swagger注入JavaScript

我正在尝试对UI进行一些小修改 - 实质上只是为标题添加一些公司品牌。

我已经将两个文件作为嵌入资源添加到我的项目的资源目录中。

​​

导致下面的链接被添加到呈现的页面:

这些通过注入UI。

<link href="ext/ang_nav_api-Resources-Swagger-css" rel="stylesheet" type="text/css" media="screen"> 

这一切都正确,样式表按预期工作。

但是.js脚本没有出现在客户端上。

改变c.InjectJavaScriptc.InjectStylesheet并注入该文件为<link> ..所以我很高兴,该文件本身是正确嵌入等

出了什么问题吗?

回答

1

.js脚本不会出现在客户端上。 (不是在路上,你会期望) 仔细观察的index.html代码: https://github.com/domaindrivendev/Swashbuckle/blob/8223bedae706fec612c98ebbcee6b2d7033ae349/Swashbuckle.Core/SwaggerUi/CustomAssets/index.html#L98

你的CustomScripts将动态上的onComplete事件

$.getScript(script); 
+1

加载如果你需要的是一些小的更改到用户界面,一个自定义的CSS应该是足够的,看看这个例子: http://swashbuckletest.azurewebsites.net/swagger/ui/index – HelderSepu

+0

谢谢,对不起,这回了一个座位,所以只有回来它。 @Helder自定义CSS将做我想要的99%...它可能会做100%。我需要做的就是添加一个品牌徽标并切换一些颜色。它添加了我想要的脚本的标识,因为我实际上需要一个新的DOM节点。 – Morvael

+0

终于得到这个工作。看起来,因为我已经在$(document).ready(function(){})中包装了我的代码,所以它没有执行。 – Morvael