我如何在 MVC 中的 javascript 博客中调用 Scripts.Render?

How do I call Scripts.Render inside of a javascript blog in MVC?

我正在将 SystemJS 添加到我的项目中,但我仍然需要使用我在 BundleConfig.cs 中定义的一些包。我想使用 SystemJS 导入依赖项,但在加载这些依赖项之前我无法呈现我自己的代码。

这是我的 cshtml 文件

<html lang="en" ng-app="app">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <title>My-App</title>

   @Scripts.Render("~/bundles/base") // SystemJS and polyfills

</head>

<body>
    <script>
       System.import("angular")
        .then(function () {

             // THIS IS WHERE I WOULD LIKE TO RENDER ANOTHER BUNDLE

          })
    </script>
<body>
</html>

只是将 @Scripts.Render 推入脚本块会破坏 HTML 脚本解析——因为所做的只是注入一堆脚本标签。

请注意,我正在专门寻找 MVC cshtml 解决方案,它允许我调用我的预定义包 -- 我希望避免为我的项目中的每个文件手动编写脚本导入。

首先,为了在您的 JavaScript 中动态加载脚本,您将不得不使用硬编码路径引用。你不能像你想的那样使用 Scripts.Render 之类的东西。

但是,如果您了解捆绑系统的工作原理,这就不是真正的问题。您创建的捆绑包,即 ~/bundles/base实际上是 到该捆绑包的路径。换句话说,你可以从字面上做这样的事情:

 <script src="/bundles/base"></script>

并且捆绑的 JavaScript 将包含在内。所以只需将该路由与您的脚本加载器一起使用。