使用CRA构建的无API请求React生产包出现JS启用提示问题求助
这不是问题,是CRA的默认行为
CRA生成的React项目,不管有没有API请求,生产构建后的index.html里都会自带这段<noscript>You need to enable JavaScript to run this app.</noscript>代码,这是正常的默认配置,不是bug。
原因很简单:React是纯JavaScript驱动的框架,哪怕你的组件只有一个<h1>,最终也是通过JS代码把这个元素挂载到页面DOM上的。如果用户浏览器禁用了JavaScript,页面就无法渲染出你的组件,这段noscript标签就是用来提示用户开启JS的。
你添加代理配置的操作完全没必要——代理是用来解决开发环境下API跨域请求的问题,和这个noscript标签没有任何关联。
如果要验证的话,可以用静态服务器启动build文件夹(比如执行npx serve build),然后在浏览器里禁用JavaScript,刷新页面就能看到这段提示;重新开启JS后,页面就会正常显示你的h1组件,这完全是符合预期的行为。
内容的提问来源于stack exchange,提问作者Luka Markač
相关产品推荐
相关产品推荐

