【问题标题】:Trying to understand the file structure in angular 7 app试图了解 Angular 7 应用程序中的文件结构
【发布时间】:2019-10-08 10:31:22
【问题描述】:

我得到了一个解决方案,并被指示由npm run build 运行,然后是“gulp dist”。

以下是解决方案文件夹的结构:

如果我在浏览器中运行 pixie -> index.html 文件,我的整个应用程序运行良好。

完整的应用程序位于同级文件夹源中。这意味着source 是应用程序文件夹。我在 source 文件夹中运行所有 ng 命令。

源 -> src -> 应用程序 -> ....

但是如果我通过ng-serve 运行它,另一个 html 文件在

source -> dist -> angular -> index.html 位置,运行。

我想了解结构,以及如何在 pixie -> index.html 文件中进行更改和产生影响?因为,无论我做出什么改变,都不会影响 pixie -> index.html

包.json

 {
  "name": "pixie2",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --aot --host 0.0.0.0",
    "build": "ng build --prod --source-map --deploy-url=assets/",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^7.2.0",
    "@angular/cdk": "^7.2.1",
    "@angular/common": "^7.2.0",
    "@angular/compiler": "^7.2.0",
    "@angular/core": "^7.2.0",
    "@angular/forms": "^7.2.0",
    "@angular/http": "^7.2.0",
    "@angular/material": "^7.2.1",
    "@angular/platform-browser": "^7.2.0",
    "@angular/platform-browser-dynamic": "^7.2.0",
    "@angular/router": "^7.2.0",
    "@ngxs/devtools-plugin": "^3.3.2",
    "@ngxs/logger-plugin": "^3.3.2",
    "@ngxs/schematics": "0.0.1-alpha.5",
    "@ngxs/store": "^3.3.2",
    "b64-to-blob": "^1.2.19",
    "canvas": "^2.5.0",
    "copy-to-clipboard": "^3.0.8",
    "core-js": "^2.6.2",
    "deepmerge": "^3.0.0",
    "dot-object": "^1.7.1",
    "fabric": "^2.6.0",
    "file-saver": "^2.0.0",
    "hammerjs": "^2.0.8",
    "hex-rgb": "^3.0.0",
    "ngx-color-picker": "^7.3.0",
    "node-gyp": "^4.0.0",
    "perfect-scrollbar": "^1.4.0",
    "raven-js": "^3.27.0",
    "rxjs": "^6.3.2",
    "url-polyfill": "^1.1.3",
    "webfontloader": "^1.6.28",
    "zone.js": "0.8.27"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.12.1",
    "@angular/cli": "^7.2.2",
    "@angular/compiler-cli": "^7.2.0",
    "@angular/language-service": "^7.2.0",
    "@ngxs/schematics": "^0.0.1-alpha.5",
    "@types/deepmerge": "^2.2.0",
    "@types/dot-object": "^1.5.0",
    "@types/fabric": "file:./fabric-types",
    "@types/file-saver": "^2.0.0",
    "@types/hammerjs": "^2.0.35",
    "@types/node": "~10.12.18",
    "@types/stripe-v3": "^3.0.9",
    "@types/webfontloader": "^1.6.29",
    "chartist": "^0.11.0",
    "codelyzer": "^4.5.0",
    "del": "^3.0.0",
    "gulp": "^4.0.0",
    "gulp-clean": "^0.4.0",
    "gulp-concat": "^2.6.1",
    "gulp-filter": "^5.1.0",
    "gulp-hub": "^4.2.0",
    "gulp-rename": "^1.2.2",
    "gulp-svg-sprite": "^1.5.0",
    "gulp-svgmin": "^2.1.0",
    "gulp-svgstore": "^7.0.1",
    "material-design-icons": "^3.0.1",
    "ts-node": "~7.0.1",
    "tslint": "~5.12.1",
    "typescript": "^3.1.1"
  }
}

从 pixie 目录中,我可以正常运行应用程序:

但是 localhost:4200 有不同的版本。我如何匹配它们?

【问题讨论】:

  • What's your package.json 你可以通过在应用程序的根文件夹(存在 package.json)中执行 ng serve --open 来简单地运行应用程序。进行更改并保存,然后您可以使用 ng build 从同一位置构建应用程序,您会注意到您的 dist 文件夹会随着您最近的更改重新生成。
  • src下面应该有index.html吧?还是我误会了什么
  • @SouravDutta 我已经添加了 package.json
  • 您可以从根文件夹执行 npm start 以在本地运行您的应用程序

标签: angular angular6 angular7


【解决方案1】:

该网站有一个生产版本和一个开发版本。

pixie/ 文件夹是由ng build 命令创建的。它是网站的生产版本。在ng build 上,您的 TypeScript 文件被转译成 Javascript 并被缩小。它只是运行网站版本所需的一小部分。

【讨论】:

  • 哪个 .js 文件? runtime.xxxxxxx.js / main.xxxxxx.js 这几种js文件?我怎样才能重新生成该构建产品?我尝试了生产构建。但没有任何改变。
  • 你试过“ng build”吗?它应该创建了一个名为 dist/ 的新文件夹,它看起来像您的 pixie/ 文件夹。
  • 你试过了。我可以很好地运行它。但无论如何加载的版本已损坏。我指出的文件在源代码之外(index.html)运行得非常好。
  • 看起来您正在使用 Ahead-Of-Time (AOT) 编译器 angular.io/guide/aot-compiler 您的 dist/ 文件夹是什么样的?
  • dist -> angular -> assets -> ... AND index.html、main.xxxx.js、polyfills.xxxx.js.、runtime.xxxxx.js、styles.xxxx.css 和最终文件夹也包含相同的文件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-12
  • 1970-01-01
  • 2018-05-01
  • 1970-01-01
  • 2015-12-25
  • 2011-11-19
  • 2012-09-06
相关资源
最近更新 更多