Ошибка при попытке запустить мои угловые схемы

#angular #npm #angular-cli #angular-schematics

#угловой #npm #angular-cli #angular-schematics

Вопрос:

При запуске schematics .:schema из корневой папки моего проекта я получаю следующую ошибку:

 An error occured:
Error: Cannot find module '/Users/pete/Desktop/projects/Angular/DEV/SchematicsDemo/src/my-component/index'
Require stack:
- /usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/@angular-devkit/schematics/tools/export-ref.js
- /usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/@angular-devkit/schematics/tools/index.js
- /usr/local/lib/node_modules/@angular-devkit/schematics-cli/bin/schematics.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:793:17)
    at Function.resolve (internal/modules/cjs/helpers.js:80:19)
    at new ExportStringRef (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/@angular-devkit/schematics/tools/export-ref.js:16:32)
    at NodeModulesEngineHost._resolveReferenceString (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/@angular-devkit/schematics/tools/node-module-engine-host.js:95:21)
    at NodeModulesEngineHost.createSchematicDescription (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/@angular-devkit/schematics/tools/file-system-engine-host-base.js:174:34)
    at SchematicEngine.createSchematic (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/@angular-devkit/schematics/src/engine/engine.js:215:38)
    at CollectionImpl.createSchematic (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/@angular-devkit/schematics/src/engine/engine.js:70:29)
    at NodeWorkflow.execute (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/@angular-devkit/schematics/src/workflow/base.js:105:38)
    at main (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/bin/schematics.js:229:24)
    at Object.<anonymous> (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/bin/schematics.js:336:5)
 

Я следую руководству из этого видео на YouTube https://www.youtube.com/watch?v=M5YSPas3qFoamp;t=1707s и он получает ту же ошибку при своей первой попытке в 32:30.

Чтобы исправить это, он запускается npm run build:watch , но я получаю эту ошибку при попытке сделать то же самое

 npm ERR! missing script: build:watch

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/pete/.npm/_logs/2020-12-26T17_18_10_036Z-debug.log
 

Вот мой angular.json файл:

 {
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "SchematicsDemo": {
      "projectType": "application",
      "schematics": {
        "@schematics/angular:application": {
          "strict": true
        }
      },
      "root": "",
      "sourceRoot": "src",
      "prefix": "app",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/SchematicsDemo",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "tsconfig.app.json",
            "aot": true,
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ],
            "styles": [
              "src/styles.css"
            ],
            "scripts": []
          },
          "configurations": {
            "production": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ],
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "namedChunks": false,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "budgets": [
                {
                  "type": "initial",
                  "maximumWarning": "500kb",
                  "maximumError": "1mb"
                },
                {
                  "type": "anyComponentStyle",
                  "maximumWarning": "2kb",
                  "maximumError": "4kb"
                }
              ]
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "SchematicsDemo:build"
          },
          "configurations": {
            "production": {
              "browserTarget": "SchematicsDemo:build:production"
            }
          }
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "browserTarget": "SchematicsDemo:build"
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "tsconfig.spec.json",
            "karmaConfig": "karma.conf.js",
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ],
            "styles": [
              "src/styles.css"
            ],
            "scripts": []
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": [
              "tsconfig.app.json",
              "tsconfig.spec.json",
              "e2e/tsconfig.json"
            ],
            "exclude": [
              "**/node_modules/**"
            ]
          }
        },
        "e2e": {
          "builder": "@angular-devkit/build-angular:protractor",
          "options": {
            "protractorConfig": "e2e/protractor.conf.js",
            "devServerTarget": "SchematicsDemo:serve"
          },
          "configurations": {
            "production": {
              "devServerTarget": "SchematicsDemo:serve:production"
            }
          }
        }
      }
    }
  },
  "defaultProject": "SchematicsDemo"
}

 

Не уверен, как исправить эту проблему, буду признателен за любую помощь!

Комментарии:

1. Существует ли файл по этому точному пути? Вы можете попробовать использовать другое, чем имя индексного файла (и настроить коллекцию. json для отражения этого изменения), поскольку индекс иногда разрешается странным образом на основе настроек разрешения модуля.

Ответ №1:

Эта проблема уже зарегистрирована в github, вы можете следить за тем же, используя #12230.

Но до тех пор, пока она не будет решена, вы можете использовать приведенную ниже работу, вам нужно немного настроить angular.json

Изменить

 projects.YOUR-APP-NAME.targets
 

Для

 projects.YOUR-APP-NAME.architect
 

Комментарии:

1. Я не вижу ничего подобного в своем angular.json файле… Я добавлю файл в исходное сообщение.

2. Похоже, в angular.json уже есть свойство «architect», как указано в вопросе.