我已经制作了我的第一个Angular2应用程序,同时使用ng serve托管。现在我必须添加一些后端(因为我需要一些小的服务器逻辑)。
我找到了这,他基本上解释了如何在nodeJs上托管一个角2应用程序。但是ng serve做了很多事情,检查更改,捆绑不同的JS/CSS文件,向模板中注入角度,获得我的依赖项。
我不能只是“生成”角网站,然后,因为我必须更新角部分,从网络api获得数据,并使用它。
那么,我应该如何从ng serve切换到nodeJS
编辑:查看答案,我肯定还不够清楚。我的角JS不是一个只在客户端使用的应用程序,我已经完成了其中的一些部分(导航,某种形式,.)但是现在我需要用web服务和websocket托管服务器来继续工作。这不是将它部署到高效服务器上的问题。它即将进入允许我在服务器和客户端工作的环境。
发布于 2017-01-27 11:17:27
我终于明白你的问题了:
ng serve)的devserver,而是使用自己的Node.js支持的服务器。ng build)。您希望服务于实时构建(必须由服务器自动生成)。以下是你如何做到的:
1)手表,传送带,捆绑.
Webpack就是这方面的最佳人选。
创建一个webpack配置文件与一个角应用程序的正确设置。这里有一个来自angular2-webpack的例子:webpack.dev.js。
这个例子有点冗长。请记住,配置文件是您告诉webpack如何处理.ts文件的地方,它应该生成什么包等等。
2)使用Node.js服务器服务webpack生成的包
我看到两个选项,取决于您想要多少控制:
2a.使用webpack-dev-server (不是很多控制)
webpack-dev-server --config config/webpack.dev.js --watch src/您可以看到webpack-dev服务器使用前面提到的配置文件。
同样,您可以看到要在angular2-webpack-初学者的package.json文件中运行的完整命令的示例。
2b.创建您自己的服务器(很多控件)
您可以使用webpack-dev-middleware创建一个Node.js/Express服务器,然后将步骤1中创建的配置文件提供给该服务器。
中间件是一个神奇的链接,它允许您通过Express服务器为webpack发出的文件提供服务。
使用webpack-dev-middleware:srcServer.js的Node.js/Express服务器示例。
这能回答你的问题吗?
发布于 2017-12-19 01:42:36
我知道这是一个老问题,但我也有同样的顾虑,我发现ngserve选项很有用。在开发中,您可以在另一个端口上运行节点,然后调用/api被重定向到node.js。
https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md
package.json gets:"start": "ng serve --proxy-config proxy.conf.json",
然后创建一个像这样的proxy.conf.json文件{ "/api": { "target": "http://localhost:3000", "secure": false, "pathRewrite": { "^/api": "" } } }
发布于 2017-01-27 06:54:30
运行ng build --prod构建应用程序。
构建应用程序之后,您将在dist目录中找到最终的dist代码。
现在,在server.js文件中使用Node.js中的代码。
(function() {
const express = require("express");
const app = express();
app.use(express.static(__dirname + "/dist"));
app.listen(80);
console.log("port" + 80);
})();https://stackoverflow.com/questions/41879292
复制相似问题