一次运行Angular 4 +节点API

时间:2017-07-20 14:09:59

标签: node.js angular nodeapi

我是angular的新手,我有要求使用节点js(与Ms Sql的API连接)使用Angular4(Front)+ REST API开发Web应用程序。

现在我的困惑是,如果我单独开发这两个项目是否更好......?

就个人而言,我更愿意分开开发这两个项目。

但我使用visual studio代码作为我的IDE和visual studio代码,我一次只能处理一个项目。

我想一次处理这两个项目。

有什么方法/任何其他IDE可以帮助我吗?要么 有没有办法在visual studio代码中一次运行两个项目......?(我已经研究了很多,但我没有找到任何有用的解决方案)

任何帮助都将受到高度赞赏

1 个答案:

答案 0 :(得分:7)

Angular CLI有一个development proxy configuration option,可用于拦截对开发后端的调用并将它们路由到API。这可以让您独立处理项目以及利用@angular/cli工具。

您要创建一个名为proxy.conf.json的文件,其级别与angular-cli.json文件相同。假设开发中的节点API在http://localhost:3000的端口 3000 上运行,并且您的API端点在路径“/ api”下的全部,{{1看起来像是:

proxy.conf.json

您可以根据需要设置尽可能多的拦截,在这种情况下,它只会截取对“/ api”的调用,并将它们指向运行在{ "/api": { "target": "http://localhost:3000", "secure": false } } 的项目。

然后,您需要修改angular app命令的http://localhost:3000中的npm start以使用代理:

package.json

然后你只需要在不同的命令窗口中分别运行后端和前端。您可以使用concurrently等库来使用单个"scripts": { ... "start": "ng serve --proxy-config proxy.conf.json", ... }, 在开发中运行多个命令。您将在基本节点API项目中设置npm start命令,如下所示:

npm start

在此示例中,我的节点(快速)应用程序已从"scripts": { "start": "concurrently \"./bin/www\" \"cd public && npm start\"", } 激活,我的Angular应用程序位于./bin/www文件夹中,但根据您的项目结构,这显然可能是不同的文件夹。如果后端节点api只是一个条目文件public,那么启动可能会更简单。

示例结构:

"start": "concurrently \"node ./server.js" \"cd public && npm start\""

希望这有帮助!