【问题标题】:React - use relative paths to static assets in CSSReact - 在 CSS 中使用静态资产的相对路径
【发布时间】:2018-08-21 13:20:05
【问题描述】:

我正在使用 create-react-app 为 Electron 应用构建界面。因此,构建的 React 应用程序本质上是在本地运行,而不是从服务器运行。

我自然有大量由 React 构建的 SCSS,但作为构建过程的一部分,我的路径从 url(../images/my_img.jpg) 更改为 url(/static/media/my_img.xyz.jpg)

显然,对于文件将存储在根目录的服务器环境,这很好,但由于我的文件在本地运行,浏览器(电子)无法找到图像。

我在 package.json 中设置了"homepage": "./",但这没有任何效果。

有没有办法确保构建的 CSS 使用相对路径而不是绝对路径?

【问题讨论】:

    标签: javascript reactjs webpack create-react-app


    【解决方案1】:

    好的,这是一个有点老套的解决方法,但现在我设法做的是......

    1) 我在我的项目中安装了“替换”NPM 包: https://www.npmjs.com/package/replace

    2) 然后我在 package.json 中设置了一个 postbuild 脚本:

    "postbuild": "replace 'static' '..' build/static/css/*"
    

    这并不理想,但确实可以!

    【讨论】:

      【解决方案2】:

      试试"homepage": "."

      "homepage": "." 可能会遇到问题,因此在某些情况下可以使用,但不建议这样做。

      【讨论】:

      • 不幸的是,这似乎没有什么不同。此外,终端输出仍然显示The project was built assuming it is hosted at ./.
      • 你在哪里编译?视窗?如果是这样,你试过吗。\
      • 我在 macOS 上编译
      • 你试过在引号之间不加任何内容吗?有人说这对他们有用
      • 这似乎让其他一切都变得绝对了,所以我的应用找不到任何捆绑的 js 或 css
      猜你喜欢
      • 2017-05-30
      • 1970-01-01
      • 2018-05-20
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      • 2016-07-10
      • 2015-01-12
      • 2017-02-09
      相关资源
      最近更新 更多