【问题标题】:Angular website path not working properlyAngular 网站路径无法正常工作
【发布时间】:2020-07-25 11:01:22
【问题描述】:

我有一个角网站,我试图在 heroku 上托管。这是我的 server.js 文件,显示了我要使用的路径。 Server.js File

但是,我在构建后收到此错误。 Heroku Logs

这是我的应用程序目录。 App setup

这是我第一次尝试托管 Angular 网站,所以我不是很精通。但据我所知,我想要 dist/dashboard 目录中 index.html 文件的路径。这似乎是正在发生的事情。我试过删除“__dirname”,但这也不起作用。任何帮助将不胜感激。

编辑: 这是我的 package.json

{
"name": "dashboard",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "node server.js",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"“heroku-postbuild": "ng build --prod"
},
"private": true,
"dependencies": {
"@angular/animations": "^9.0.7",
"@angular/cdk": "^9.2.0",
"@angular/cli": "~9.0.7",
"@angular/common": "~9.0.7",
"@angular/compiler": "~9.0.7",
"@angular/compiler-cli": "~9.0.7",
"@angular/core": "~9.0.7",
"@angular/flex-layout": "^9.0.0-beta.29",
"@angular/forms": "~9.0.7",
"@angular/material": "^9.2.0",
"@angular/platform-browser": "~9.0.7",
"@angular/platform-browser-dynamic": "~9.0.7",
"@angular/router": "~9.0.7",
"core-js": "^3.6.4",
"enhanced-resolve": "^4.3.0",
"express": "^4.17.1",
"highcharts": "^8.1.2",
"highcharts-angular": "^2.4.0",
"path": "^0.12.7",
"rxjs": "~6.5.4",
"tslib": "^1.10.0",
"typescript": "~3.7.5",
"zone.js": "~0.10.2"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.1000.4",
"@angular/cli": "~9.0.7",
"@angular/compiler-cli": "~9.0.7",
"@angular/language-service": "~9.0.7",
"@types/jasmine": "~3.5.0",
"@types/jasminewd2": "~2.0.3",
"@types/node": "^12.11.1",
"angular-cli-ghpages": "^0.6.2",
"codelyzer": "^5.1.2",
"jasmine-core": "~3.5.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.3.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage-istanbul-reporter": "~2.1.0",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.2",
"protractor": "~5.4.3",
"ts-node": "~8.3.0",
"tslint": "~5.18.0",
"typescript": "~3.7.5"
},
"engines": {
"node": "12.16.1",
"npm": "6.13.4"
}

}

【问题讨论】:

标签: node.js angular heroku web-hosting


【解决方案1】:

删除目录名时,您是否像下面的脚本一样定义了 server.js 文件?同时编辑 package.json 文件:“heroku-postbuildheroku-postbuild

const express = require('express');
const path = require('path');

const app = express();

app.use(express.static('./dist/dashboard'));

app.get('/*', function(req,res) {

res.sendFile(path.join(__dirname,'/dist/dashboard/index.html'));
});

app.listen(process.env.PORT || 8080);

【讨论】:

  • 正在应用程序目录中搜索 dist 目录。因此,强制它返回到上面的目录并找到文件夹dist:./dist
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-20
  • 2016-03-20
  • 2018-02-17
  • 1970-01-01
  • 2017-06-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多