我正在尝试将项目前端和后端分开。 一个是用angular-cli构建的,另一个是用express构建的。
我知道我应该在dist文件夹中加载index.html,例如app.use(express.static('../../frontend/dist'));
如果我访问mydomain.com,那么它可以正常工作。
但是,当我尝试通过输入访问浏览器地址栏上的mydomain.com/signin时,它会显示can not get /signin
。
我想这是因为我在分离前端和后端项目的过程中犯了一个错误。
我确实喜欢下面的内容,但我认为我需要做点什么才能解决这个问题。
我认为app.use(express.static('../../frontend/dist'));
足以路由,但无法设置路由。
我认为这不适合我的情况。
router.get('/', function (req, res, next) {
res.render('index'); // I split it into two projects, how can I render it?
});
例如,
app.get('/signin', (req, res, next) => {
res.render('something');
})
我想我无法渲染,因为我把它分成了两个项目。
这就是我使用此代码的原因。 app.use(express.static('../../frontend/dist'));
如何在我的案例中设置路由?
答案 0 :(得分:0)
首先,安装路径npm包。
npm install path --save
其次,添加var path = require('path');
第三,添加app.use(express.static(path.join(__dirname, 'your path/dist')));
最后,添加
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'your path/dist/index.html'));
});
这很简单。 我希望有人在我的回答中得到解决方案。 :d