我已经制作了我的第一个Angular2应用程序,同时ng serve
用于托管.现在我要添加一些后端(因为我需要一些小的服务器逻辑).
我发现这个基本上解释了我如何在nodeJs上托管一个有角度的2应用程序.但是ng serve
做了很多事情,检查更改,捆绑不同的JS/CSS文件,将角度注入我的模板,获取我的依赖项.
我不能只是"生成"角网站然后,因为我要更新角度部分以从web api获取数据并使用它.
所以,我应该怎么做,从切换ng serve
到nodeJS
?
编辑:查看答案,我一定不够清楚.我的角度JS不是仅在客户端上的应用程序,我已经完成了它的一部分(导航,某种形式,......)但是现在我需要托管带有web服务和websocket的服务器来继续工作.这不是将其部署到高效的服务器上.它即将迁移到允许我在服务器和客户端工作的环境.
我想我终于理解了你的问题:
ng serve
您希望使用自己的Node.js驱动的服务器,而不是使用与angular-cli()捆绑在一起的devserver .
此外,您不希望静态构建您的应用程序(ng build
).您希望提供实时构建(必须由服务器自动生成).
这是你如何做到的:
1)观察,转移,捆绑......
Webpack非常适合.
使用Angular应用程序的正确设置创建webpack配置文件.这是angular2-webpack-starter的一个例子:webpack.dev.js.
这个例子有点冗长.请记住,配置文件是告诉webpack如何处理.ts
文件,应该生成什么包等的地方.
2)使用Node.js服务器提供webpack生成的bundle
我看到两个选项,取决于你想要多少控制:
2A.使用webpack-dev-server
(不是很多控制)
webpack-dev-server --config config/webpack.dev.js --watch src/
您可以看到webpack-dev-server使用前面提到的配置文件.
同样,您可以看到在angular2-webpack-starter的package.json文件中运行的完整命令的示例.
2B.创建自己的服务器(很多控制)
您可以使用以下步骤创建Node.js/Express服务器webpack-dev-middleware
,您将在步骤#1中创建配置文件.
中间件是神奇的链接,可以让您通过Express服务器提供从webpack发出的文件.
Node.js/Express服务器的示例,它使用webpack-dev-middleware
:srcServer.js.
这是否回答你的问题?