#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», как указано в вопросе.