Node.js 在NodeJS中运行Angular 9应用程序时出现问题
我有一个正常工作的NodeJS服务器和一个Angular 9应用程序。我能够在开发模式下测试这个应用程序,它工作得非常好 但是,当我使用Node.js 在NodeJS中运行Angular 9应用程序时出现问题,node.js,angular,angular-cli-v9,Node.js,Angular,Angular Cli V9,我有一个正常工作的NodeJS服务器和一个Angular 9应用程序。我能够在开发模式下测试这个应用程序,它工作得非常好 但是,当我使用ng build--prod构建应用程序并尝试使用NodeJS服务器访问它时,我遇到了几个关于文件加载的错误: 拒绝从中应用样式 ”“因为 MIME类型('text/html')不是受支持的样式表MIME类型,并且 已启用严格的MIME检查 得到 net::ERR_中止404(未找到) 我在应用程序中有一个代理文件,可以将其所有请求重定向到NodeJS: pro
ng build--prod
构建应用程序并尝试使用NodeJS服务器访问它时,我遇到了几个关于文件加载的错误:
拒绝从中应用样式
”“因为
MIME类型('text/html')不是受支持的样式表MIME类型,并且
已启用严格的MIME检查
得到
net::ERR_中止404(未找到)
我在应用程序中有一个代理文件,可以将其所有请求重定向到NodeJS:
proxy.conf.json
{
"/api/*": {
"target": "http://localhost:8080",
"secure": false,
"logLevel": "debug",
"changeOrigin": true
}
}
我遗漏了什么吗?
proxy.conf.json
旨在通过使用ng serve
在开发环境中重写url,为您提供一种访问后端
的简便方法
例如,通过访问http://localhost:4200/api
,实际上,您可以访问http://localhost:3000/api
。(所以你的后端)
但在这里,您的问题是如何使用NodeJS服务角度文件
这里有一个最小的express
代码,它服务于API
端点/API
,也服务于public
子目录中的静态文件
const express=require('express'))
const app=express()
应用程序使用(express.static('public'));
app.get('/api',函数(req,res){
res.send({message:'api ok'})
})
应用程序侦听(3000,函数(){
log('端口3000上侦听的示例应用程序!')
})
将由ng build--prod
生成的所有文件(请参见dist
文件夹和您的应用程序名
子文件夹)复制到公共
文件夹
node app.js
您可以在
http://localhost:3000
,您的Angular应用程序将能够在http://localhost:3000/api
请您提供更多信息:您使用NodeJS作为后端API,或者只是提供静态内容(您的Angular应用程序),或者两者兼而有之?我想我必须说两者。我有用于web查询的端点,但我必须为静态文件编写一些代码,如:app.use(express.static(config.paths.webs))代码>。我想把代码,但它像很多。