Angular进入生产环境后,api的网址错误
我对有角度的人是陌生的,对转移生产几乎一无所知。我在本地更改了一些代码,并且可以正常工作。
当我应用命令ng build --prod
时,它将在节点项目public
文件夹中生成生产组块文件。我将这些文件移动到实时服务器(Godaddy共享托管)上,然后站点工作正常。
但是当尝试使用api与服务器通信(例如登录,注册)时,它将使用我的本地主机URL http://localhost:8080
而不是我的域URL。
如果我恢复到旧代码,则该项目在实时服务器中可以正常工作。
我的angular.json
文件
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "../server/serverAPI/public",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.app.json",
"assets": [
"src/favicon.png",
"src/assets",
"src/manifest.json",
"src/manifest.json"
],
"styles": [
"src/styles.css",
"./node_modules/bootstrap/dist/css/bootstrap.min.css",
"./node_modules/jquery/dist/jquery.min.js",
"./node_modules/bootstrap/dist/js/bootstrap.min.js"
],
"scripts": ["node_modules/moment/min/moment.min.js"]
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "4mb",
"maximumError": "5mb"
}
],
"serviceWorker": true
}
}
},
回答如下:好像您将配置存储在environment
中,并且没有在生产配置中添加fileReplacements
,因此请检查您的angular.json
生产配置fileReplacements
应该是
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],