Javascript 如何将express和node设置为现有的仅限前端的Angular 2项目?
我有一个当前仅使用Angular CLI和NPM的前端Angular 2应用程序。我希望访问者能够通过联系表向我发送电子邮件 为此,我显然需要一个后端、express和node,在其中我没有使用经验 我需要将express和node集成到我的应用程序中,但我不知道如何正确执行此操作 我也发现了类似的问题,但与我的情况无关 其他教程仅展示如何构建平均堆栈应用程序,而不是在构建前端后集成后端 我想知道的:Javascript 如何将express和node设置为现有的仅限前端的Angular 2项目?,javascript,node.js,angular,express,mean-stack,Javascript,Node.js,Angular,Express,Mean Stack,我有一个当前仅使用Angular CLI和NPM的前端Angular 2应用程序。我希望访问者能够通过联系表向我发送电子邮件 为此,我显然需要一个后端、express和node,在其中我没有使用经验 我需要将express和node集成到我的应用程序中,但我不知道如何正确执行此操作 我也发现了类似的问题,但与我的情况无关 其他教程仅展示如何构建平均堆栈应用程序,而不是在构建前端后集成后端 我想知道的: 如何将Angular 2应用程序设置为在后端使用express和node 我需要哪些相关文件
- 如何将Angular 2应用程序设置为在后端使用express和node
- 我需要哪些相关文件
- 我可以使用Angular CLI执行此操作吗
ng build
,它会将所有内容编译到dist
目录中
从那里,您可以创建一个express server,为dist
目录提供服务,如下所示:
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'dist/index.html'));
});
您可以构建的最简单的服务器可能是
var express = require('express')
var path = require('path');
var app = express()
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'dist/index.html'));
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!')
});
这将拦截所有路由并将它们重定向到创建的dist/
文件夹中的index.html
文件
有关如何设置此设置和一些更高级设置的详细信息,请查看以下链接:
dist/
文件夹视为将通过express服务器提供的静态文件,因为路由和所有内容都是通过angular处理的,所以您可以设置