node.js - 无法从 Node 服务器打开 Angular 构建应用程序

标签 node.js angular mean-stack

我在 Angular 6 上构建了一个应用程序,并且能够直接从 dist 文件夹打开 index.html,但是当我尝试从我的 Node 服务器打开它时,控制台中出现错误:

Uncaught SyntaxError: Unexpected token <
polyfills.js:1 Uncaught SyntaxError: Unexpected token <
styles.js:1 Uncaught SyntaxError: Unexpected token <
vendor.js:1 Uncaught SyntaxError: Unexpected token <
main.js:1 Uncaught SyntaxError: Unexpected token <

第 1 行为 <!文档类型 html >

服务器.js

const express = require('express');
const path = require('path');
const app = express();
app.use(express.static(path.join(__dirname,'dist')));
app.get('*',(req,res)=>{
    res.sendFile(path.join(__dirname,'dist/ang-node/index.html'));
});

const port = process.env.PORT || 4000;

app.listen(port,(req,res)=>{
    console.log(`server started on port ${port} `);
});

最佳答案

由于您的错误,您可能没有为 Angular 配置正确的公共(public)目录,请尝试此操作,

const express = require('express');
const path = require('path');
const app = express();
app.use(express.static(path.join(__dirname,'dist/ang-node/public'))); // <== correct public directory here
app.get('*',(req,res)=>{
    res.sendFile(path.join(__dirname,'dist/ang-node/index.html')); // <== Make sure this is dist/ang-node not dist
});

const port = process.env.PORT || 4000;

app.listen(port,(req,res)=>{
    console.log(`server started on port ${port} `);
});

关于node.js - 无法从 Node 服务器打开 Angular 构建应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51996890/

相关文章:

node.js - Mongoose 模型中的自定义实例或静态方法中的验证错误

javascript - 如何在nodejs和ES6导入中使用jquery插件?

javascript - 输出 YYYY-MM-DD 非完整日期字符串

javascript - 为什么它给我这个错误 # Fatal error in , line 0 # Fatal JavaScript invalid size error 169220804?

json - 在 PWA 应用程序中缓存从 Firebase 存储接收的图像

angular - Angular 实际上是如何触发生命周期钩子(Hook)的?

javascript - md菜单 : Cannot read property 'open' of null

angularjs - 如何在 MongoDB 数据库中保存文件?

node.js - 使用 Prisma 进行深度嵌套事务写入

javascript - Node : Unable to read file contents