【问题标题】:.NET Core + React - src folder visible.NET Core + React - src 文件夹可见
【发布时间】:2020-04-25 06:44:52
【问题描述】:

我在 VS - ASP.NET Core Web 应用程序中创建了新项目。我使用了 Core 3.1 + React.js 和 Redux 模板。当我在 ISS Express (Debug/Release) 中运行这个项目时,我可以在 DevTools 中看到来自 src 的所有单个文件。我做错了什么?我认为 src 文件不应该是可见的。我需要设置一些参数或类似的东西吗?我也尝试在真实的 IIS 上发布和部署它,结果基本相同。我可以从 src 文件夹中看到所有内容。

谢谢!

Visual Studio 16.5.1 DevTools HostedFiles+DevTools

【问题讨论】:

    标签: reactjs asp.net-core visual-studio-2019


    【解决方案1】:

    在本地主机上:这种在 DevTools 中显示源文件的行为可能只是 DevTools 的一个功能,以便在此工具中更轻松地进行调试。 DevTools 可以检测到它正在从 localhost 运行并找到 Web 运行的位置。这就是它可以找到源文件(ts、tsx 或 jsx 文件)的原因。

    发布时:发布的应用程序不再包含源文件(ts、tsx、jsx)。这些源文件被编译成ClientApp/build文件夹中的分发js文件。图片中的文件结构是浏览器基于javascript source map files.map文件)创建的。一种解决方案是删除源映射文件,但可以将它们留在那里,这篇文章中有一些参数:

    Source maps files in production - Is it safe?

    Startup.cs 中有两行相关的代码用于配置静态文件处理。

    1) UseStaticFiles - 在 Web 根目录(wwwroot 文件夹)内提供文件。

    app.UseStaticFiles();
    

    2) UseSpaStaticFiles - 在 Angular 应用的资产文件夹中提供静态文件,如图像、css、js

    app.UseSpaStaticFiles();
    

    注意。从 React.js 和 Redux 模板创建新项目时,默认不创建文件夹 wwwroot。它可以添加到项目中,然后提供它包含的静态文件。

    【讨论】:

    • 嗨@Martin Staufcik 但是现在每个人都可以在我部署生产应用程序时在 DevTools 中查看我的组件?
    • DevTools 可能会检测到它正在从 localhost 运行并找到运行 Web 的位置。部署到 Web 服务器的站点不会发生这种情况。
    • 但我也尝试在真实主机服务器上发布生产构建应用程序。在我的 ClientApp 中,只有生成文件的 build 文件夹(没有我的可见组件)。但是即使在正常托管的情况下,我仍然可以在 DevTools 中找到所有组件。我做错了吗?
    • 应用发布时,ClientApp 文件夹包含一个 build 文件夹,其中包含已编译的分发文件(javascript、css),不再有源文件。
    • 没错!但是.. 我使用了整个已发布的 .net 核心应用程序(在 ClientApp 中没有源文件)我将它推送到我的托管 FTP,我仍然可以在 DevTools 中看到我的组件..这让我发疯了
    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-12
    • 2020-12-26
    • 1970-01-01
    相关资源
    最近更新 更多