Node.js NodeJs服务器中的角度
我是初学者。我有一个nodejs服务器,前端有一个Angular。现在我想知道是否有可能两台服务器都只有一台? 因为在youtube的一些视频中,他们有一台服务器用于节点,一台服务器用于角度Node.js NodeJs服务器中的角度,node.js,angular,server,Node.js,Angular,Server,我是初学者。我有一个nodejs服务器,前端有一个Angular。现在我想知道是否有可能两台服务器都只有一台? 因为在youtube的一些视频中,他们有一台服务器用于节点,一台服务器用于角度 谢谢,再见是的,两台服务器都可以有一台 您可以通过您最喜欢的HTTP服务器(例如,express)在NodeJS服务器上将AngularJS文件作为静态文件提供,如下所示: app.use(express.static(path.join(__dirname, 'client'))) 其中client是包
谢谢,再见是的,两台服务器都可以有一台 您可以通过您最喜欢的HTTP服务器(例如,
express
)在NodeJS服务器上将AngularJS文件作为静态文件提供,如下所示:
app.use(express.static(path.join(__dirname, 'client')))
其中
client
是包含前端内容的目录 在基本级别,您需要为构建的静态Angular文件设置静态路径,如果您使用Angular路由,您可能希望将所有请求定向到Angular项目的index.html
,以便Angular可以处理所有客户端路由
例如,为位于express generator创建的默认public
文件夹中的内置Angular CLI项目设置静态路径。该示例使用dist
,因为这是执行ng build
时Angular CLI项目的默认目标
app.use(express.static(path.join(__dirname, 'public', 'dist')));
Catch all route可将Express应用程序路由定义未捕获的任何请求(例如返回JSON数据或类似数据的RESTful路由)定向到Angular项目的index.html
:
// some routes
var users = require('./routes/users');
app.use('/users', users);
// other routes
var todos = require('./routes/todos');
app.use('/todos', todos);
// catch-all route
// needs to go AFTER all other express server route definitions
app.use('*', (req, res) => res.sendFile(path.join(__dirname, 'public', 'dist', 'index.html')));
如果使用Angular CLI,则在开发过程中,可以使用
希望这有帮助