gpt4 book ai didi

javascript - Package.json - NODE_ENV 到生产/部署

转载 作者:行者123 更新时间:2023-11-30 08:21:41 25 4
gpt4 key购买 nike

我是这里的网络开发新手,最近开始将我的简单网络应用程序推送到 GitHub 页面。我很快发现,在我将 react-router 与它集成后,我的页面不会呈现,因为我的 dev 和 prod URL 链接不同。

我的问题是,如何设置我的 package.json.env 以便正确呈现我的 URL?

我的 .env 文件如下所示:

REACT_APP_PUBLIC_URL="my-site"

我的 package.json 看起来像:

"scripts": {
"start": "NODE_ENV=development react-scripts start",
"start:prod": "NODE_ENV=production react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject",
"predeploy": "npm run build",
"deploy": "gh-pages -d build"
}

在我的 Index.js 中,我正在这样做:

if (process.env.NODE_ENV === "production") {
require("dotenv").load();
}

console.log("PROCESS.ENV.NODE_ENV: ", process.env.NODE_ENV); // This prints "development"
console.log("PROCESS.ENV.PUBLIC_URL: ", process.env.REACT_APP_PUBLIC_URL); // This prints "my-site"

当我运行 npm run start:prod 时,我认为它会将 NODE_ENV 设置为 production 但它似乎并没有那样做

基本上,我想做的是在开发期间,我的 process.env.PUBLIC_URL 应该是 "" 而在生产期间,它应该是 "my -网站”。这样,我的路由器就可以正确呈现相应的 View 。感谢您的帮助!

最佳答案

React-scripts 自动设置 NODE_ENV,参见 article在 medium.com。其中一个选项是使用不同的环境变量,案例 MY_APP_ENV

关于javascript - Package.json - NODE_ENV 到生产/部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52563337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com