在角度1中,我能够为前端和后端都有一个项目,因为我可以使用快速功能来提供前端代码
app.use('/frontEnd', express.static('frontend'));
这种方法有一个错误,因为目前使用angular 4快速启动种子,index.html不在根前端文件夹中,而是在根前端文件夹中的src . 所以为了解释我试过的:
app.use('/frontEnd', express.static('frontend/src'));
那"works"但是当你拉起 localhost:8080/frontEnd
时它会中断 .
QUESTION :这方面的工作是什么?
ALTERNATE QUESTION :如果这不再可用,1 . 有没有办法为两端都有一个项目或2.是否正确的程序只是让双方在他们自己的项目中分开?
1 回答
由于History API,Express需要捕获所有请求并提供
index.html
然后让Angular处理路由 .因此,您应该在Express应用中使用的代码段是:
现在,当您要加载静态此类图像,脚本等时,路径
/assets
将从frontend/src/assets
加载静态 . 如果您未指定资产路径,则每个资产请求都将返回index.html!另外,当你去刺激时,想想server-side rendering . :)