首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在不弹出的情况下配置创建-反应-应用程序express.static选项?

是否可以在不弹出的情况下配置创建-反应-应用程序express.static选项?
EN

Stack Overflow用户
提问于 2020-02-15 18:40:35
回答 2查看 735关注 0票数 0

默认情况下,当存在空文件夹时,express.static会触发301重定向,添加一个正斜杠。

我就是这样为自定义快递服务器禁用此重定向的。

代码语言:javascript
复制
server.use(
  express.static(path.join(__dirname, "build"), {
    redirect: false,
  })
)

在开发模式( redirect: false )中使用创建反应-应用程序时是否可以配置npm start

通过查看下面的标题,我猜create-react-app在开发模式中使用了Express来服务温泉

加载 http://localhost:3001/privacy-guides时请求标头

代码语言:javascript
复制
HTTP/1.1 301 Moved Permanently
X-Powered-By: Express
Content-Type: text/html; charset=UTF-8
Content-Length: 195
Content-Security-Policy: default-src 'none'
X-Content-Type-Options: nosniff
Location: /privacy-guides/
Vary: Accept-Encoding
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-16 12:27:38

简短的回答,不。

正如@goto1 1所指出的,下面的内容并不是一个很好的实践,但它帮助我理解了CRA中事物是如何在引擎盖下工作的。

在使用npm start在开发模式下运行CRA时,使用webpack开发服务器为应用程序服务。Webpack DevServer使用Express提供文件,这解释了为什么浏览文件夹会触发301重定向(参见express.static options.redirect,默认值为true)。

当路径名是目录时,重定向到尾部“/”。

我确认在node_modules/react-scripts/config/webpackDevServer.config.js中添加以下内容将禁用重定向。

代码语言:javascript
复制
staticOptions: {
  redirect: false
}

手工编辑这个文件有点麻烦,但很有效。不幸的是,我找到配置staticOptions的唯一合法方法需要弹射

票数 1
EN

Stack Overflow用户

发布于 2020-02-15 19:05:23

create-react-app是一种构建工具,而不是服务器。它的输出是一组静态html/js/css文件,您可以随意以任何方式提供这些文件。(npm run build)

create-react-app所提供的唯一服务是开发服务器,它只用于开发人员机器,而不是在生产中使用。(npm start)

如果您仍然需要重写create-react-app配置,那么请查看一些专门的工具,如:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60241958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档