【问题标题】:Angular build empty projectAngular构建空项目
【发布时间】:2019-06-30 09:22:14
【问题描述】:

在angular7中创建一个简单的项目。 它在开发模式下工作正常。

完成后,通过ng build --prod命令构建。

它生成 dist 文件夹,其中包含 index.html 与资产和一些 JS files

检查索引文件

如果在浏览器中打开,它只是白屏。

我缺少的任何解决方案。

package.json

{
  "name": "app2",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~7.1.0",
    "@angular/common": "~7.1.0",
    "@angular/compiler": "~7.1.0",
    "@angular/core": "~7.1.0",
    "@angular/forms": "~7.1.0",
    "@angular/platform-browser": "~7.1.0",
    "@angular/platform-browser-dynamic": "~7.1.0",
    "@angular/router": "~7.1.0",
    "@ng-bootstrap/ng-bootstrap": "^4.0.2",
    "bootstrap": "^4.2.1",
    "core-js": "^2.5.4",
    "jquery": "^3.3.1",
    "ngx-swiper-wrapper": "^7.2.1",
    "popper": "^1.0.1",
    "rxjs": "~6.3.3",
    "tslib": "^1.9.0",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.11.0",
    "@angular/cli": "~7.1.2",
    "@angular/compiler-cli": "~7.1.0",
    "@angular/language-service": "~7.1.0",
    "@types/node": "~8.9.4",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "codelyzer": "~4.5.0",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~3.1.1",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "typescript": "~3.1.6"
  }
}

【问题讨论】:

  • 你遇到了什么错误?
  • 没有错误,只是空白的浏览器屏幕。

标签: angular ng-build


【解决方案1】:

你总是需要一个服务器来运行 Angular 项目。当您运行 ng serve 时,angular 会在内部创建一个名为 localhost 的服务器。

您可以使用任何本地服务器,例如 iis 来运行项目。

编辑:

如果您想与xampp 一起使用,您需要在dist 文件夹中更改index.html 中的base href

步骤:1 复制dist中生成的app2文件夹并粘贴到xampp/htdocs

步骤:2 - xampp/htdocs/app2/index.html<base href="/">改成

<base href="./">

STEP:3打开浏览器并导航到http://localhost/app2

【讨论】:

  • 我尝试了 XAMPP 但仍然是同样的问题。
【解决方案2】:

我假设这是因为浏览器尝试访问本地文件,这会向您的控制台抛出错误。您无法通过打开index.html 直接提供服务,因为文件访问受到限制。

但是,您可以使用 lite-server 或使用一些 chrome extension. 创建静态服务器

[试试这个:https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb]

另一种选择是修改浏览器目标快捷方式并添加--web-security-disabled --allow-file-access-from-files标志

阅读更多:How to launch html using Chrome at "--allow-file-access-from-files" mode?

【讨论】:

  • 感谢好友,使用 Chrome 扩展程序及其工作。
  • 随时!乐于助人。
  • 请考虑投票,您可以接受最佳答案以供将来参考
  • 将整个文件上传到域 (xyz.com) 以在 3 级文件夹 (xyz.com/f1/f2/f3/app) 中进行测试,但它再次不起作用。当我检查源代码并查看文件时,它从路径 (xyz.com/runtime.js) 加载。我想知道为什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-07
  • 2012-06-24
  • 2021-04-04
  • 2018-09-10
  • 2018-03-16
  • 2013-07-03
相关资源
最近更新 更多