首页 > 解决方案 > 使用 Angular cli (ng build) 构建后代码中的错误

问题描述

我是新的角度,试图在角度设置新项目,使用角度/cli。我做了以下步骤来设置一个快速服务器和 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 内容。

所以任何人都可以告诉我我错过了什么或做错了什么。请。谢谢。

标签: angularexpress

解决方案


只需重写您的 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', 'testApp')));


const port = process.env.port || '3000';
app.set('port', port);

const server = http.createServer(app);

server.listen(port, () => console.log(`listening on port : ${port}`));

这可能会解决您的问题。


推荐阅读