我尝试使用create-react-app
做一些相当简单的事情,从前端的其他位置动态请求JSON文件。当我请求URL时,Webpack只返回应用程序的index
页面(使用HTTP 200)。
我已尝试将JSON文件放在src
和public
目录中,但它没有区别(例如,/src/data/stuff.json
,{{ 1}})。
我猜测webpack /正在阻止请求通过。
像/public/data/stuff.json
这样的东西是行不通的。我看到了请求,但响应只是默认的HTML。
当然,也不要fetch('http://localhost:3000/public/data/stuff.json')
或http://localhost:3000/src/data/stuff.json
。
我是动态获取而不是导入,因为我只想要这个JSON文件(我相信webpack会将所有这些文件捆绑在应用程序中;更不用说IRL文件名是动态的,更接近{{1使用大型存档。)
肯定会喜欢任何和所有的帮助和一些建议。谢谢! :)
答案 0 :(得分:6)
create-react-app
使用webpack-dev-server
作为开发服务器。 webpack-dev-server
使用connect-history-api-fallback
为每个请求提供index.html
文件(以允许客户端路由)。默认情况下,connect-history-api-fallback
不会覆盖带点的路径(如/data/stuff.json
)。但是,create-react-app
disables this setting。
因此,您需要将disableDotRule
设置为false
here。您可能需要eject
才能修改此配置。
此设置取决于您使用的服务器,因此当您未使用webpack-dev-server
时,您可能会遇到不同的行为。