Javascript 生成后在index.html中获取公共URL
我使用命令Javascript 生成后在index.html中获取公共URL,javascript,reactjs,npm,deployment,build,Javascript,Reactjs,Npm,Deployment,Build,我使用命令npx create react app my app创建了一个reactjs app,我使用warn build 包json: "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" } 构建app index.html后,如下图
npx create react app my app
创建了一个reactjs app,我使用warn build
包json:
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
}
构建app index.html后,如下图所示(它具有所有静态文件的绝对路径)
我希望这些源代码如下所示(需要提供一个公共URL)
我尝试将
PUBLIC\u URL
和homepage
添加到package.json中,但没有成功。只需在链接的href中使用%PUBLIC\u URL%
,它将仅在公共文件夹中存在这些文件时才会获取这些文件
将文件放在public
文件夹中,假设文件是您要访问的图标,其名称为icon.ico
您不需要为文件设置绝对url,只需在index.html中使用%PUBLIC\u url%
注意:您不需要将公共URL添加到
package.json
。它已分配到公用文件夹。只需在链接的href中使用%public\u URL%
,它将仅在公用文件夹中存在这些文件时获取这些文件
将文件放在public
文件夹中,假设文件是您要访问的图标,其名称为icon.ico
您不需要为文件设置绝对url,只需在index.html中使用%PUBLIC\u url%
注意:您不需要将公共URL添加到package.json
。它已分配到公用文件夹。找到了解决方案
我使用dotenv
设置环境变量。下面给出了实现该解决方案的步骤
1) 安装dotenv
软件包
npm i dotenv
2) 尽早在应用程序中,要求并配置dotenv
require('dotenv').config()
3) 在项目的根目录中创建一个.env
文件。以NAME=VALUE
的形式在新行中添加特定于环境的变量
PUBLIC_URL=http://192.168.8.100:3000
找到了解决办法
我使用dotenv
设置环境变量。下面给出了实现该解决方案的步骤
1) 安装dotenv
软件包
npm i dotenv
2) 尽早在应用程序中,要求并配置dotenv
require('dotenv').config()
3) 在项目的根目录中创建一个.env
文件。以NAME=VALUE
的形式在新行中添加特定于环境的变量
PUBLIC_URL=http://192.168.8.100:3000
已经存在,但是一旦我构建了%PUBLIC\u URL%
的值,它就不会添加到静态文件夹中。我想你可以创建一个新的.env
文件并分配一个变量APP\u LINK=http://localhost:3000
。也尝试将.env
文件添加到package.json
的位置。分配了一个变量PUBLIC_URL=。它不在公共目录中的“静态”目录下工作?我这样问是因为public
目录被分配给了`localhost:3000',如果您试图访问public文件夹中的子目录,那么只有这样才能访问,否则您无法访问应用程序中的其他目录。您可以最后一次尝试->href=“%REACT\u app\u TEST\u URL1%/icon.ico”
。当您以REACT\u app\u TEST\u URL1的身份运行应用程序时,您可以传递env变量=http://localhost:3000 npm启动
已经存在,但是一旦我建立了%PUBLIC\u URL%
的值,它就不会添加到静态文件夹中。我想你可以创建一个新的.env
文件,并分配一个变量APP\u LINK=http://localhost:3000
。也尝试将.env
文件添加到package.json
的位置。分配了一个变量PUBLIC_URL=。它不在公共目录中的“静态”目录下工作?我这样问是因为public
目录被分配给了`localhost:3000',如果您试图访问public文件夹中的子目录,那么只有这样才能访问,否则您无法访问应用程序中的其他目录。您可以最后一次尝试->href=“%REACT\u app\u TEST\u URL1%/icon.ico”
。当您以REACT\u app\u TEST\u URL1的身份运行应用程序时,您可以传递env变量=http://localhost:3000 npm启动