我正在使用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;
那我在这里做错了什么?
答案 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;