umijs / umi

A framework in react community ✨
https://umijs.org
MIT License
15.25k stars 2.65k forks source link

如何在js里面获取publicPath的值 #4919

Closed xgj1988 closed 3 years ago

xgj1988 commented 4 years ago

What happens?

如何在js里面获取publicPath的值,比如这样

import { Icon } from '@ant-design/compatible';
import React from "react";

const Index = (props) => {
  const IconFont = Icon.createFromIconfontCN({ scriptUrl: `${context.config.publicPath}/iconfont/iconfont.js` })
  return (
    <IconFont {...props} />
  );
};

export default Index;

最小可复现仓库

复现步骤,错误日志以及相关配置

这里我想引用本地的iconfont.js。但是这个文件又在public路径下面。如何做呢

相关环境信息

xiaohuoni commented 3 years ago

可以使用 https://umijs.org/config#runtimepublicpath

xoptimal commented 3 years ago

@xiaohuoni 怎么使用呀, 怎么在代码里拿到配置的 publicPath

xgj1988 commented 3 years ago

额,,我自己写了一个 写了一个react的amap组件

xoptimal commented 3 years ago

@xiaohuoni window.publicPath 你尝试打印下, 并不存在

hyzx86 commented 1 year ago

同问。。。 要么 给出怎么获取 base 也行。。 这个关键字实在不好找 image 现在只能直接这样写么?

const host = `${window.location.protocol}//${window.location.host}${APP_BASE_PATH}`;
hyzx86 commented 1 year ago

在 window 上找到 个 routerBase , 可以用 image

xiaohuoni commented 1 year ago

__webpack_public_path

hyzx86 commented 1 year ago

你们说的这些 。。前提都是 runtimePublicPath:true, 文档地址在这里,umi文档 里面反而没有了 https://pro.ant.design/zh-CN/config/config#runtimepublicpath

我的源码是 从 antdpro 仓库拉的 5.20 分支 默认没有开启这个选项

hyzx86 commented 1 year ago

runtimePublicPath:true 好了,之前报错是因为别的东西影响

xiaohuoni commented 1 year ago

https://umijs.org/docs/api/config#runtimepublicpath 这不就是文档吗?

hyzx86 commented 1 year ago

https://umijs.org/docs/api/config#runtimepublicpath 这不就是文档吗?

我用的 umi 3 , 你给的是 umi4 文档 无论怎样,感谢答复

xiaohuoni commented 1 year ago

https://umijs.org/docs/api/config#runtimepublicpath 这不就是文档吗?

我用的 umi 3 , 你给的是 umi4 文档 无论怎样,感谢答复

emmmm,我才发现。