ScriptBundle具有其他属性

时间:2013-03-20 17:27:02

标签: asp.net-mvc-4 web-optimization scriptbundle

public class BundleConfig
{
    // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/require").Include(
                        "~/Scripts/require.js"));
       ....

和_Layout.cshtml

@Scripts.Render("~/bundles/require")

它呈现为(使用EnableOptimizations = false):

<script src="/Scripts/require.js"></script>

但我想添加一个属性

<script src="/Scripts/require.js" data-main="/Scripts/main"></script>

我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

我通过配置requirejs而没有data-main属性解决了类似的问题。所以,起初我有以下代码:

<script src="app/rconfig.js"></script>
<script src="plugin/requirejs/require.js" data-main="app/main.js"></script>

接下来,让我们摆脱data-main属性:

<script src="app/rconfig.js"></script>
<script src="plugin/requirejs/require.js"></script>
<script>
    require.config({
        baseUrl: "app"
    });
    require(['app/main.js']);
</script>

接下来,我将最后一个'脚本'内容放到文件中:

<script src="app/rconfig.js"></script>
<script src="plugin/requirejs/require.js"></script>
<script src="app/rdatamain.js"></script>

完成后,我将这三个文件放到了包中

答案 1 :(得分:1)

如果您不喜欢RenderFormat,您也可以在ScriptsHelper上全局更改DefaultTagFormat,但此属性现在会显示在您调用Scripts.Render的所有位置