【发布时间】:2018-11-30 05:30:18
【问题描述】:
我是新的 angular,尝试使用 angular/cli 以 angular 设置新项目。我做了以下步骤来设置一个快速服务器和 Angular 作为前端。
已安装 angular/cli;然后 ng新的testApp; 构建; 这创建了一个 dist 文件夹,例如 dist>testApp> 和所有文件(索引、html、main.js ......等等),
我已经安装了 express 和 body-parser。现在在我的 server.js 中,我有以下代码。
const express = require('express');
const bodyParser = require('body-parser');
const path = require('path');
const http = require('http');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended : false}));
app.use(express.static(path.join(__dirname, 'dist')));
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'dist/testApp/index.html'));
});
const port = process.env.port || '3000';
app.set('port', port);
const server = http.createServer(app);
server.listen(port, () => console.log(`listening on port : ${port}`));
现在,当我启动服务器并在浏览器上尝试“http://localhost:3000/”时,我在控制台中看到错误,在所有 .js 文件(如 main.js、polyfills.js)中显示意外令牌,所以当我查看源选项卡时,我可以甚至可以看到 js 文件中包含相同的 index.html 内容。
所以谁能告诉我我错过了什么或做错了什么。请。 谢谢。
【问题讨论】:
-
在您的 server.js 中,所有 get 请求都指向 index.html,这就是为什么您要获取所有包含 index.html 内容的文件。请参阅下面的答案。