代码之家  ›  专栏  ›  技术社区  ›  lynxSven

Angular 2本地主机和后端服务器连接

  •  2
  • lynxSven  · 技术社区  · 7 年前

    我正在尝试运行一个Angular 2项目,在我的机器上启动npm,并在另一台服务器上访问后端。 当我呼叫post或get时,我总是在Firefox控制台中出现“Access Control Allow Origin missing”错误。 当我在服务器上部署我的应用程序时,它工作得非常好,但我不想一直等到部署我的应用程序。

    我尝试了不同的解决方案,比如代理。我需要配置本地主机还是其他什么?有最先进的解决方案吗?

    2 回复  |  直到 7 年前
        1
  •  3
  •   mxr7350    7 年前

    您可以在本地环境中设置代理。

    在你的 package.json "serve-dev": "<startApplication> --sourcemap=false --proxy-config proxy.config.json" .

    并使用 npm run serve-dev

    proxy.config.json 文件应如下所示:

    {
      "/api/*":{
        "target":"http://localhost:5005",
        "secure": false,
        "logLevel": "debug"
      }
    }
    

    get 应该是这样的: this._http.get('./api/myEndpoint') .

        2
  •  0
  •   Kevin Summersill    6 年前

    app.use(express.static(publicPath)); // Set the path for express to use
    
    // Add headers
    app.use(function(req, res, next) {
      res.setHeader('Access-Control-Allow-Origin', '*');
      res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
      res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Authorization');
      next();
    });