zoukankan      html  css  js  c++  java
  • When specified, "proxy" in package.json must be a string.

    react项目在package.json中配置proxy之后,报错

    $ npm run start
    
    > img@0.1.0 start D:xxsrcimg
    > react-scripts start
    
    When specified, "proxy" in package.json must be a string.
    Instead, the type of "proxy" was "object".
    Either remove "proxy" from package.json, or make it a string.
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! img@0.1.0 start: `react-scripts start`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the img@0.1.0 start script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     C:UsersxxAppDataRoaming
    pm-cache\_logs2019-09-11T08_04_08_822Z-debug.log

    原因是react-scripts模块中从2开始改变了proxy的配置方式,解决的方法有两种

    第一种方式是,指定安装react-scripts的老版本

    1.删除node_modules/react-scripts

    2.重新安装 npm i react-scripts@1.1.1 --save

    第二种方式是,使用新版本proxy的配置方法

    1.安装http-proxy-middleware

    $ npm install http-proxy-middleware --save
    $ # or
    $ yarn add http-proxy-middleware --save

    2.src目录下新建文件:setupProxy.js,配置代码为:

    const proxy = require('http-proxy-middleware')
     
    module.exports = function(app) {
    
      app.use(proxy('/api', 
        {
            "target": "https://localhost:5000/",
            "changeOrigin": true
        }))
        
        //app.use(proxy(...)) //可以配置多个代理
    }
  • 相关阅读:
    win10系统封装
    docker基础知识
    TCP三次握手顺手看个示例
    磁盘挂载
    jQuary
    docker rpm包安装
    Mysql单机安装
    docker网络模式
    JavaScript DOM
    JavaScript作用域,面向对象
  • 原文地址:https://www.cnblogs.com/Netsharp/p/11506893.html
Copyright © 2011-2022 走看看