Машинопись - ошибки «Не удается найти имя» в шаблонах html - PullRequest
1 голос
/ 30 марта 2020

Я перенесу свой существующий код Angular 7 на Angular 9. Я следовал Angular Руководству по обновлению . Я получаю много ошибок "Не удается найти имя" в шаблоне html компонентов. Даже индекс. html page.

Вот шаблон, о котором идет речь:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>My application</title>
    <!-- base href is set in angular.json -->
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" type="image/x-icon" href="./favicon.ico">
</head>
<body class="style-1">
    <!--[if lt IE 9]>
        <p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
    <![endif]-->
    <app-root></app-root>
</body>
</html>

Все теги и атрибуты html отображаются в красных линиях и дают мне такие ошибки, как: -

  • Ошибка: (1, 3) TS2304: не удается найти имя «тип документа».
  • Ошибка: (1, 11) TS2304: невозможно найти имя «html».
  • Ошибка: (2, 2) TS2304: не удается найти имя 'html'.
  • Ошибка: (3, 2) TS2304: не удается найти имя 'head'.
  • Ошибка: (4, 6) TS2304: не удается найти имя «meta».
  • Ошибка: (4, 11) TS2304: не удается найти имя «charset».
  • Ошибка: (4 , 19) TS2365: оператор «>» не может применяться к типам «строка» и «число».
  • Ошибка: (5, 6) TS2304: не удается найти имя «мета».

и т. Д.

Каждый шаблон html в коде выглядит следующим образом. После обновления версия angular составляет ~ 9.1.0 , а версия машинописного текста - ~ 3.8.3 .

Даже после всех этих ошибок код работает правильно.

Мой tsconfig. json file: -

{
    "compileOnSave": false,
    "compilerOptions": {
        "baseUrl": "./",
        "downlevelIteration": true,
        "outDir": "src/main/webapp/dist",
        "paths": {
            "app/*": ["src/main/webapp/app/*"]
        },
        "sourceMap": true,
        "declaration": false,
        "module": "esnext",
        "moduleResolution": "node",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "target": "es2015",
        "typeRoots": [
            "node_modules/@types"
        ],
        "lib": [
            "es2018",
            "dom"
        ]
    },
    "include": [
        "src/main/webapp/main.ts",
        "src/main/webapp/polyfills.ts",
        "src/main/webapp/app"
    ],
    "exclude": [
        "node_modules"
    ]
}

Красные линии на html очень отвлекают, и я был бы очень признателен за помощь!

1 Ответ

0 голосов
/ 03 апреля 2020

Это на самом деле проблема с intellij-idea.

Отключение Angular языковой службы в Настройках | Языки и рамки | TypeScript работал для меня, как упомянуто в следующей ссылке: -

https://intellij-support.jetbrains.com/hc/en-us/community/posts/360002029759-Issue-with-angular-html-templates-being-mistaken-for-typescript-sources

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...