首页 > 解决方案 > ReactJS 错误:仅支持绝对 URL

问题描述

我正在尝试拉入当前 URL 以在我的 fetch 命令中使用,但在尝试通过window.location. 似乎不允许使用此 URL,但我不确定是否有另一种替代方法来实现我正在寻找的东西。我避免设置字符串,以便我可以将我的 React 设置调整到多个环境。

错误:

Error: only absolute urls are supported

创建错误的行:

console.log(protocol + '//' + hostname + ':' + port + '/api' + window.location.search);

变量:

var urlPath = window.location.pathname;
var hostname = window.location.hostname;
var protocol = window.location.protocol;
var port = window.location.port;

标签: reactjswebpack

解决方案


我更喜欢dotenv。然后,您需要做的就是创建一个.env文件。有几种方法可以将其加载到您的应用程序中。

Webpack(不是上面列出的 npm 包,而是 webpack-dotenv-plugin)

import DotenvPlugin from 'webpack-dotenv-plugin';
  plugins: [
    new DotenvPlugin({
      sample: './.env.default',
      path: './.env',
    }),

不是 webpack

越早越好:

require('dotenv').config()

推荐阅读