解决create-react-app build 后静态资源文件夹(static)路径不对

本文主要介绍了在使用create-react-app构建项目并build后,静态资源文件夹路径错误的问题。当项目不在根目录下时,服务器无法正确找到资源。解决方案是在package.json中设置`"homepage": "."`,将项目根目录指定为当前目录,从而确保资源路径正确。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Reason

  • 在我们对我们的react项目进行打包上线的时候可能我们的文件夹 build 并不是在更不了下,这样的情况就好出现服务器访问 index 找不到static 下面的资源,仔细看我们会发现访问路径变成了根文件
    例如:
www.test/build/static/cs.css
#  变成
www.test/static/cs.css

因为我们的webpack 默认以项目为根目录

homepage

  • 这时候就要我们制定我们的项目根目录 —— 在package.json中配置 homepage
    "homepage": "."

  "version": "0.1.0",
  "private": true,
  "homepage": ".",
 {
   ...
 }

官方参考文档

`create-react-app` 是一个用于快速搭建 React 应用程序的脚手架工具,它默认使用了现代 JavaScript 模块打包工具,如 Rollup 或者 terser 等。Webpack 是一个广泛使用的前端构建工具,它负责模块打包、优化和加载。 当你想要分析 `create-react-app` 构建后的 bundle(文件大小和模块依赖关系)时,Webpack-Bundle-Analyzer 是一个非常有用的插件。这个插件可以在构建完成后生成交互式的报告,帮助开发者理解应用的性能,找出可以优化的部分,比如检查是否存在大的库被重复引入,或者是哪些模块占用过多的体积。 要在 `create-react-app` 中集成 `webpack-bundle-analyzer`,你需要手动配置一下。首先,在项目根目录下安装 `webpack-bundle-analyzer` 和它的 CLI: ```bash npm install --save-dev webpack-bundle-analyzer ``` 然后,在 `config/webpack.config.dev.js` 或 `config/webpack.config.prod.js` 文件中添加对 Bundle Analyzer 的支持,并在构建命令后运行它。例如: ```javascript // config/webpack.config.dev.js module.exports = { // ... plugins: [ new BundleAnalyzerPlugin({ analyzerMode: 'static', openAnalyzer: false, // 默认为false,如果你想在构建后自动打开浏览器查看分析结果,可以设置为true reportFilename: 'report.html', // 报告输出文件名 generateStatsFile: true, statsFilename: 'stats.json', // 统计信息输出文件名 logLevel: 'info', cache: false, }), ], }; ``` 最后,在命令行中构建应用并运行分析: ```bash npx react-scripts build webpack-bundle-analyzer stats.json report.html ``` 这将生成一个名为 `report.html` 的静态 HTML 文件,你可以在这个页面上看到详细的 bundle 分析报告。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值