我使用create react应用程序已经有一段时间了。“npm start”或“yarn start”自动重装本身工作正常,但现在我有了另一个问题。目前,我在express server上通过build文件夹运行应用程序,我使用“npm run build ”,因为express正在提供构建文件。有许多api调用要求应用程序以这种方式运行。现在,每次手动执行“npm运行构建”变得很乏味。有没有一个简单的方法或解决办法来自动构建,就像“npm start”一样,而不弹出应用程序(我知道可以弹出并配置webpack来做到这一点,但我不想走这条路)?谢谢
在其他端口上运行后端。如果在express上运行,请修改文件bin/www
var port = process.env.PORT || 9000
并在您的/src文件夹中创建一个配置文件,您可以在其中配置API主机,路由,参数等
//config/index.js
export const Config = {
protocol: 'http',
host: window.location.hostname, //or the environment variable
params: '/api/',
api: {post:'/posts/'}
}
在您的调用组件中或您调用api的任何地方
import {Config} from '../config'
axios.get(`${Config.protocol}${Config.host}${Config.params}${Config.api.posts}${some id i guess}`)
虽然这并不能真正回答您的问题,但您不应该在开发中使用npm-run-build
。不仅重建速度很慢,而且它还跳过了重要的React性能和大小警告,因此您最终会更加抓耳挠腮,而在警告中获得的细节却少得多。
如果您只需要使用Express执行API请求,请使用< code >代理功能,该功能允许您将API请求从< code>npm start代理到您的服务器。还有一个带有匹配存储库的教程演示了如何做到这一点。
当然,在生产中,您应该使用< code>npm run build生成的版本。但是您只需要在部署之前运行它。
不幸的是,这是你必须自己做的事情。您可以使用类似npm-watch的工具来完成您想要的任务:
安装npm-watch
npm i --save-dev npm-watch
package.json
{
"name": "react-app",
"version": "0.1.0",
"private": false,
"devDependencies": {
"npm-watch": "^0.1.8",
"react-scripts": "0.9.5",
},
"dependencies": {
"react": "^15.4.2",
"react-dom": "^15.4.2"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject",
"watch": "npm-watch"
},
"watch": {
"build": "src/"
}
}
之后,只需使用 npm 运行监视
来启动 npm-watch,这样它就可以在更改时重新构建您的资产。
更新:
React-scripts现在包括一个< code>proxy选项,该选项将请求代理到不同的主机/端口。例如,如果您的后端运行在< code>/api路径下的< code>localhost端口< code>9000上,那么您应该将这一行添加到您的package . JSON:< code > " proxy ":" localhost:9000/API " 。然后,您可以像在生产中一样发出请求。(来源:https://create-react-app . dev/docs/proxy ing-API-requests-in-development)
问题如下: 想要在React 项目执行yarn build 时, 给index.html 增加后缀 没有使用react-eject, 使用的是crao 替代, 但是craco.config.js 配置 HtmlWebpackPlugin不生效。 craco.config.js 配置如下: package.json 部分组件版本如下: 执行yarn build 打包后,配置无效, 请教各位大佬们了
Create React App 不用配置就可以创建 React App。 全局安装: npm install -g create-react-app 创建 App: create-react-app my-appcd my-app/ 启动 npm: npm start 打开 http://localhost:3000/ 查看你的 App。 如果你准备将其部署到生产环境,只需创建一个压缩包,并且运行 npm run build。
创建响应应用时,图像中出现错误。它一直在正常工作,我所做的就是mkdir和cd到那个dir。 这就是错误的样子... NPX:在36.634s中安装了99必须使用导入来加载ES模块: C:\用户\Neeraj\AppData\漫游\npm-cache_npx\5172\node_modules\create-react-app\node_modules\is-promise\index.js不支持
Create React Native App The fastest way to create universal React Native apps npx create-react-native-app Once you're up and running with Create React Native App, visit this tutorial for more informat
npm启动 在默认浏览器上启动反应服务器,对我来说是Firefox。我喜欢Firefox用于浏览,但更喜欢其开发人员工具的Web开发Chrome。有没有办法强制"npm start"使用Chrome启动服务器,而不将我的默认浏览器更改为chrome?我在Windows上使用Bash。 编辑:我使用"create-react-app"来创建我的服务器,这为"npm start"添加了一个脚本到"pa
问题内容: 我有一个项目,我两个星期都没碰过。我将其取回,现在尝试运行时出现此错误。 节点6.7.0 npm 3.10.3 mac sierra 10.12 package.json 我也尝试克隆我的存储库,并得到相同的错误。如果有人可以给我一些方法来查找发生了什么。谢谢 问题答案: 签入Create React App的作者。 您绝对不应该在全球范围内安装。 您还 没有 需要的是这个答案暗示。