为啥我的 react 应用在 html 的正文中没有出现脚本标签?

Posted

技术标签:

【中文标题】为啥我的 react 应用在 html 的正文中没有出现脚本标签?【英文标题】:Why my react app appeared no script tag in the body of the html?为什么我的 react 应用在 html 的正文中没有出现脚本标签? 【发布时间】:2021-04-14 12:11:15 【问题描述】:

我正在开发一个 react 应用程序,我遇到了一个错误,即当用户登录时,应用程序会将用户推送到仪表板,但仪表板没有显示任何内容,即使它在 jsx 上有 h1 标签(但除仪表板外,其他页面运行良好)。仪表板的 html 显示“您需要启用 javascript 才能运行此应用程序”。 .任何人都可以帮忙吗?在此先感谢,祝您有美好的一天:)

仪表板代码:

export class Dashboard extends Component 
  render() 
     return (
      <h1>
        hello
      </h1>
    )
  

仪表板的html:

【问题讨论】:

这没什么。仅当用户禁用了 javascript 时,才会显示该标签(对人类可见)。就您的问题而言,这是一个红鲱鱼。如果没有看到您如何将仪表板呈现到您的页面中,就无法判断为什么您的页面是空的。 【参考方案1】:

为了用户体验,它呈现通知用户该网站需要 JavaScript(他们可能手动禁用它)并且他们不应该等待网站出现;和/或清除网站没有损坏(由于错误或其他原因)的混乱

【讨论】:

【参考方案2】:

如果在浏览器上禁用了 JavaScript 的用户访问页面,&lt;noscript&gt; 标记用于向他们显示消息。否则,它仍然是隐藏的。通常这用于通知用户网页需要 JavaScript 才能运行。 Create React App 默认将此实现到 public/index.html 文件中。

noscript documentation from MDN 声明:

HTML 元素定义要插入的 HTML 部分 如果页面上的脚本类型不受支持或者脚本是 目前在浏览器中关闭。

您可以查看支持此功能的all the browsers,但是,在撰写本文时,所有相关主要浏览器基本上都支持它。 IE 从版本 11 开始支持此功能。

【讨论】:

以上是关于为啥我的 react 应用在 html 的正文中没有出现脚本标签?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Outlook 2010 会破坏我的 HTML 电子邮件正文?

为啥我无法播放 React HTML5 视频组件?

为啥 volatile 在多线程 C 或 C++ 编程中没有用?

为啥 Chrome 会在我的 HTML 顶部添加一个正文,然后给我一个看似虚假的错误消息?

为啥我的 React 应用程序会出现这个错误?

为啥 CORS 不能在我的 express/react 应用程序上运行?