Node.js / Express将所有内容重定向到有角度为2的页面

时间:2017-05-09 12:33:06

标签: node.js angular express

我正在使用Node.js和Express创建一个Angular 2应用程序。

我遇到的问题是我的路由文件不能使用通配符。我每次使用/以外的任何内容访问该页面时(例如/test),都会显示以下内容:ReferenceError: path is not defined

我的server.js:

const express = require('express');
const app = express();
const path = require('path');
const routes = require('./routes');
const data = require('./articles.json');

app.use(express.static(path.join(__dirname, '/dist')));
app.use('/', routes);

app.listen(8080, function () {
  console.log('App started on port 8080');
});

我的/routes/index.js:

const routes = require('express').Router();

routes.get('*', function (req, res) {
  res.sendFile(path.join(__dirname + '/dist/index.html'));
});

module.exports = routes;

那我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

您还需要索引index.js中的路径包

<强> /routes/index.js

const path = require('path');
const routes = require('express').Router();

routes.get('*', function (req, res) {
  res.sendFile(path.join(__dirname + '/dist/index.html'));
});

module.exports = routes;