在mvc

时间:2016-11-27 18:59:40

标签: javascript asp.net-mvc angular systemjs

我正在尝试根据我正在使用的环境加载不同的javascript文件。我创建了一个Angular2应用程序,它存在于MVC应用程序中。

在我的index.html(_layout.cshtml)中,我有以下脚本:

<script src="~/public/lib/js/vendors.min.js"></script> <!--bundled dependencies-->
@*<script src="~/public/dist/js/app.min.js"></script> <!--bundled source-->*@

<script src="~/system.dev.config.js"></script>    
<script>
    System.import('../public/dist/AppComponent/main.js').catch(function (err) { console.error(err); });
</script>

此代码将加载angular2依赖项并启动应用程序。我想区分开发(当我在应用程序上开发时)和它在生产中的在线时。

我想区分,所以我只加载以下文件:

开发环境:

<script src="~/public/lib/js/vendors.min.js"></script> <!--bundled dependencies-->

<script src="~/system.dev.config.js"></script>    
<script>
    System.import('../public/dist/AppComponent/main.js').catch(function (err) { console.error(err); });
</script>

产品环境:

<script src="~/public/lib/js/vendors.min.js"></script> <!--bundled dependencies-->
<script src="~/public/dist/js/app.min.js"></script> <!--bundled source-->

有没有选项,所以当我处于调试模式时,它应该使用开发脚本,反之亦然处于发布模式?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以使用

@{ 
    #if DEBUG
        <script src="~/public/lib/js/vendors.min.js"></script> <!--bundled dependencies-->

        <script src="~/system.dev.config.js"></script>    
        <script>
            System.import('../public/dist/AppComponent/main.js').catch(function (err) { console.error(err); });
        </script>
    #else
        <script src="~/public/lib/js/vendors.min.js"></script> <!--bundled dependencies-->
        <script src="~/public/dist/js/app.min.js"></script> <!--bundled source-->
    #endif
}

我希望我有所帮助