web-dev-qa-db-de.com

Schließen Sie Dateien von Build in Angular 2 aus

Wie kann ich mit angle-cli Dateien vom Winkelaufbau ausschließen? Ich füge nur den Pfad hinzu, der in den tsconfig.json- und tsconfig.app.json-Dateien ausgeschlossen werden soll, aber wenn ich ng serve ausführen, versucht eckig immer noch, die Dateien zu kompilieren. 

Irgendwelche Ideen? 

12

Unter Verwendung der exclude-Eigenschaft von tsconfig.json (auf Root-Ebene), d.h.

{
   "exclude": [
       "node_modules",
       "**/*.spec.ts"
   ]
}
6
Roman C

Sie können ng eject verwenden, um die webpack.config.js abzurufen. Sie können dies an Ihre Bedürfnisse anpassen. Danach können Sie jedoch ng serve oder ng build nicht mehr verwenden. 

Um diese Befehle erneut verwenden zu können, müssen Sie .angular-cli.json ändern. Entfernen Sie die Eigenschaft 'projects.ejected' oder setzen Sie sie auf false. Wie rückgängig machen von Angular 2 Cli ng-Eject

1
Sachin Gupta

Bearbeiten Sie in Ihrer angle.json-Datei den Buildabschnitt wie folgt:

...
            "assets": [
              "src/assets",
              "src/favicon.ico"
            ],
            "styles": [
              "src/styles.scss"
            ],
            "scripts": []
          },
          "configurations": {
            "production": {
              "assets": [
                {
                  "glob": "**/*",
                  "input": "src/assets/",
                  "ignore": [
                    "**/test.json",
                    "**/test"
                  ],
                  "output": "/assets/"
                },
                {
                  "glob": "favicon.ico",
                  "input": "src/",
                  "output": "/"
                }
              ],
...

Dies führt weiterhin die erforderlichen Standardimporte aus, entfernt jedoch die angegebenen Dateien/Verzeichnisse (test.json &/test), wenn ng build - prod ausgeführt wird. Sie sind jedoch weiterhin über ng serve verfügbar, was sich hervorragend für die lokale Entwicklung eignet.

Denken Sie daran, auch in Ihrem .gitignore Datei, wenn Sie vertrauliche Informationen in diesen Dateien haben.

Ich konnte es nicht zum Laufen bringen, wenn ich tsconfig.json, aber das oben hat wie ein Zauber gewirkt!

Lösung anhand eines Beispiels gefunden hier

1
maverickkevin

Ich habe festgestellt, wenn Sie einen . vor den Pfad setzen, wird es funktionieren:

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    ...
  },
  "exclude": [
    ...
    "./yourPathToExclude/**/*"
  ]
}
0
Shawn Dotey