Angular 代理配置不工作?

Angular 代理配置不工作?,angular,Angular,我正在使用Angular CLI(ng4),在我的代理配置中,我被声明为rest api调用,它在我的应用程序之外 在ng build--prod--aot=true之后,我将获得状态代码404。在开发模式中,它正在发挥作用。我能做些什么来解决这个问题 我的app.ts文件 if (app.get("env") === "development") { app.use('/assets', express.static(path.join(__dirname, '../../src/a

我正在使用Angular CLI(ng4),在我的代理配置中,我被声明为rest api调用,它在我的应用程序之外

在ng build--prod--aot=true之后,我将获得状态代码404。在开发模式中,它正在发挥作用。我能做些什么来解决这个问题

我的app.ts文件

if (app.get("env") === "development") {

    app.use('/assets', express.static(path.join(__dirname, '../../src/assets')));
    // app.use('/', express.static(path.join(__dirname, '../../src/pages')));

    app.use(function(err, req: express.Request, res: express.Response, next: express.NextFunction) {
        res.status(err.status || 500);
        res.json({
            error: err,
            message: err.message
        });
    });
}

if (app.get('env') === 'production') {
  // in production mode run application from dist folder
  app.use(express.static(path.join(__dirname, '/../client')));
}

如果使用ng构建并将构建的文件部署到HTTP服务器,则代理配置完全不相关

代理配置可与
ng-serve
一起使用,以便由
ng-serve
启动的开发服务器充当(通常)针对另一后端服务器的REST api请求的代理


阅读。

我明白了,但我怎样才能修复它?否则,我无法调用正在外部运行的RESTAPI。我应该这样写完整的路径吗?而不是/rest/api您如何部署angular应用程序?您的后端位于何处,什么服务于您的前端?my node.js在端口3000上运行,angular在端口4200上运行。Web服务器名称为www.djangxx:4200。我希望这有帮助?不,没有。你说你使用了ng build。ng build只是构建应用程序并在dist目录中生成其文件。现在您需要启动一个http服务器来为这些文件提供服务。你是怎么做到的?在端口4200上运行什么来提供这些文件?为什么node.js服务器不在端口3000上运行这些文件?Angular CLI在端口4200上运行。Node.js在端口3000上运行,我也使用localhost:3000通过代理配置调用它。请在app.ts文件中查看我如何在dev和prod modus中提供这些文件