我可以在Bundle.config
文件中包含脚本,还是仅用于样式包?
<?xml version="1.0" encoding="utf-8" ?>
<bundles version="1.0">
<styleBundle path="~/Content/css">
...
</styleBundle>
<scriptBundle path="~/Scripts">
Is this possible?
</scriptBundle>
</bundles>
任何人都可以提供指向Bundle.config
参考的链接,以解释可能的标签和结构吗?我已经搜索过,但我能想到的只是BundleConfig.cs
代码的捆绑方式而不是标记。我明白为什么 - 标记方式较旧,甚至可能已弃用。但我想学习标记方式,因为它常用于使用旧方法的遗留系统。
答案 0 :(得分:3)
这称为“捆绑清单”。这是位于~/bundle.config
的XML文件,通过BundleManifest.ReadBundleManifest();
中的Application_Start
加载。
有一个XSD in CodePlex, named BundleManifestSchema.xsd:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="BundleConfig" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="include">
<xs:attribute name="path" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="styleBundle">
<xs:sequence>
<xs:element name="include" type="include" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="path" type="xs:string" use="required" />
<xs:attribute name="cdnPath" type="xs:string" use="optional" />
</xs:complexType>
<xs:complexType name="scriptBundle">
<xs:sequence>
<xs:element name="include" type="include" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="path" type="xs:string" use="required" />
<xs:attribute name="cdnPath" type="xs:string" use="optional" />
<xs:attribute name="cdnFallbackExpression" type="xs:string" use="optional" />
</xs:complexType>
<xs:element name="bundles">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element type="styleBundle" name="styleBundle" />
<xs:element type="scriptBundle" name="scriptBundle" />
</xs:choice>
<xs:attribute name="version" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:schema>
是的,支持scriptBundle
。
答案 1 :(得分:2)
我don't think it's possible我觉得你应该真的避免使用XML表示法。网上几乎没有关于该主题的资源。因此,将XML重写为C#可能会更快。但是,有一个NuGet包允许您通过XML配置它。该示例可在GitHub和project site上找到。