У меня есть каталог, который был частью шаблона, и я хочу исключить его при проверке. Я уже исключил это в tsconfig и eslint. запуская eslint, он работает нормально, но при выполнении ng build
он включает каталог при проверке и выдает ошибки.
Тематический каталог src/fuse.
Я уже добавил это в свою конфигурацию.
Эслинтиньор
build/
dist/
www/
src/@fuse/
эслинтрк
"ignorePatterns": [
"src/@fuse/**/*",
"./src/@fuse/**/*",
"src/@fuse",
"./src/@fuse"
],
цконфигурация
"exclude": ["./src/@fuse", "src/@fuse"]
При выполнении ng build
я получу это. Линтинг по-прежнему применяется, даже если он был исключен.
Я думаю, что это не ошибки ворса; ошибки lint появляются только тогда, когда вы это делаете ng lint
. Это ошибки сборки из-за конфигурации tsconfig.json
.
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
...
"compilerOptions": {
...
"strict": false,
"noImplicitOverride": true,
"noPropertyAccessFromIndexSignature": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"esModuleInterop": true,
...
},
...
}
Попробуйте переключить эти свойства и проверьте, работает ли это. В противном случае просто исправьте эти ошибки, поскольку это необходимо для запуска сборки.
Пока я возился с конфигурацией и обнаружил, что angular.json
использует tsconfig.app.json
, а tsconfig.app.json
расширяет tsconfig.json
, я приступаю к редактированию tsconfig.app.json
, чтобы переопределить некоторые конфигурации. Таким образом, это по-прежнему дает мне полную строгость при редактировании и немного ослабляет при построении.
Вот часть angular.json
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/fuse",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": ["zone.js"],
"tsConfig": "tsconfig.app.json", // the tsconfig is here
"inlineStyleLanguage": "scss",
Пока это мой tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"allowUnreachableCode": false,
"allowUnusedLabels": false,
"baseUrl": "./src",
"declaration": false,
"downlevelIteration": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"forceConsistentCasingInFileNames": true,
"importHelpers": true,
"lib": ["ES2022", "dom"],
"module": "ES2022",
"moduleResolution": "node",
"noFallthroughCasesInSwitch": true,
"noImplicitAny": true,
"noImplicitOverride": true,
"noImplicitReturns": true,
"noPropertyAccessFromIndexSignature": true,
"noUncheckedIndexedAccess": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"outDir": "./dist/out-tsc",
"pretty": true,
"removeComments": true,
"strict": true,
"sourceMap": true,
"target": "ES2022",
"useDefineForClassFields": false
},
"angularCompilerOptions": {
"enableI18nLegacyMessageIdFormat": false,
"strictInjectionParameters": true,
"strictInputAccessModifiers": true,
"strictTemplates": true
}
}
И tsconfig.app.json
, который используется angular.json
и расширяется tsconfig.json
{
"extends": "./tsconfig.json",
"compilerOptions": {
// override config between this block
"noImplicitReturns": false,
"noPropertyAccessFromIndexSignature": false,
"noUnusedLocals": false,
"noUnusedParameters": false,
"strictNullChecks": false,
// override config between this block
"outDir": "./out-tsc/app",
"types": []
},
"files": ["src/main.ts"],
"include": ["src/**/*.d.ts"]
}