【问题标题】:javascript bundles in ASP.NET Core MVC not being served on IISIIS 上未提供 ASP.NET Core MVC 中的 javascript 包
【发布时间】:2020-05-26 13:57:03
【问题描述】:

我在 Visual Studio 中开发了一个 ASP.NET MVC Core 应用程序,它引用了 wwwroot 文件夹中的引导文件:

  /wwwroot/lib/bootstrap/dist/bootstrap.min.js

当我使用 IIS Express 运行该站点时,它会使用此 URL 返回文件:

http://example.com/Identity/lib/bootstrap/dist/js/bootstrap.bundle.min.js

我现在正在将站点部署到 IIS,但此 URL 不再有效并返回 404。我已将程序配置为从 IIS 集成开始:

                     webBuilder
                        .UseContentRoot(Directory.GetCurrentDirectory())
                        .UseIISIntegration()
                        .UseStartup<Startup>();

我错过了什么?

URL 的“身份”部分来自 Identity Server 4,因此 bootstrap.bundle.min.js 文件可能来自此包。

【问题讨论】:

    标签: javascript asp.net-mvc asp.net-core


    【解决方案1】:

    如下所示更新您的资产文件并将应用发布到服务器:

    <link href="~/lib/bootstrap/dist/bootstrap.min.js" >
    

    改成

    <link href="./lib/bootstrap/dist/bootstrap.min.js" >
    


    更新:如果某些文件无法发布到服务器,请检查:

    选择未发布到服务器的文件并转到属性下文件的属性(单击F4),检查为其设置的属性:

    构建动作:内容

    复制到输出目录:不要复制然后发布它

    希望这会有所帮助。

    【讨论】:

    • 测试这个并不能解决问题。在我的本地计算机上生成的 URL 在文件名中包含单词“bundle”并正确地为该文件提供服务,尽管该文件的名称中没有“bundle”。在 IIS 上这不起作用。
    • 我添加了更多关于身份服务器的问题。
    • 我觉得http://example.com/Identity/lib/bootstrap/dist/js/bootstrap.bundle.min.js上没有这样的文件,是真的吗?
    • 它不在磁盘上,它似乎是通过魔法出现的。此外,在 IIS 中,我无法获取 /Identity 区域来解析来自 IIS 中 wwwroot 的任何文件。
    • 身份文件夹/位置似乎是多余的,我认为应用程序根目录中会有 lib 文件夹。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 2013-01-17
    • 2021-01-02
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多