jsconfig.json Китайская документация

JavaScript

Английский адрес оригинального документа

Что такое jsconfig.json?

существует в каталогеjsconfig.jsonфайл указывает, что этот каталог является корневым каталогом проекта JavaScript.jsconfig.jsonfile указывает корневой файл иЯзыковой сервис JavaScriptДоступные варианты функций

Tip:Если вы не используете JavaScript, то все равноjsconfig.json

Tip: jsconfig.jsonФайлы конфигурации, полученные из TypeScripttsconfig.json. эквивалентноtsconfig.jsonизallowJsсвойство установлено наtrue

Почему файл jsconfig.json?

Код Visual StudioJavaScript支持Может работать в двух разных режимах:

  • Область действия файла — нет jsconfig.json: в этом режиме файлы JavaScript, открытые в Visual Studio Code, обрабатываются как отдельные блоки. просто файлa.jsДокумент, на который явно не ссылаютсяb.ts(использоватьimportилиCommonJS modules), то между двумя файлами нет общего контекста проекта.

  • Явный проект — включает jsconfig.json: проекты JavaScript создаются с помощьюjsconfig.jsonфайл определен, существование этого файла в каталоге указывает на то, что этот каталог является корневым каталогом проекта JavaScript. В самом файле можно дополнительно указать файлы, принадлежащие проекту, файлы, которые необходимо исключить из проекта, параметры компилятора и т. д. (см. ниже).

Когда рабочее пространство имеетjsconfig.jsonфайл, улучшена работа с JavaScript. Поэтому при открытии файла JavaScript в новой рабочей области мы предлагаем создатьjsconfig.jsonсоветы по работе с файлами

Расположение jsconfig.json

путем созданияjsconfig.jsonфайл, мы определяем эту часть кода (клиентскую часть веб-сайта) как проект JavaScript. Поместите файл в корневой каталог вашего кода JavaScript, как показано ниже.

jsconfig 设置

В более сложных проектах в рабочей области может быть определено более одногоjsconfig.jsonдокумент. Это необходимо сделать, чтобы IntelliSense ошибочно не намекал коду в одном проекте на код в другом. Ниже приведенclientа такжеserverПапка проекта, которая показывает два отдельных проекта JavaScript

多个 jsconfig

Примечание. IntelliSense переводится в интеллектуальную осведомленность, в среде vscode интеллектуальные подсказки кода, ниже

пример

По умолчанию языковая служба JavaScript проанализирует и предоставит IntelliSense для всех файлов в вашем проекте JavaScript. Вам нужно указать файлы, которые нужно исключить или включить, чтобы обеспечить надлежащую IntelliSense.

Используйте свойство исключения

excludeАтрибуты(шаблон шара) сообщает языковой службе, какие файлы не являются частью исходного кода, что обеспечивает высокую производительность. Если IntelliSense работает медленно, попробуйте добавить несколько файлов (папок) вexcludeв списке (VS Code предложит это сделать, если обнаружит замедление)

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es6"
  },
  "exclude": ["node_modules"]
}

Tip:Рекомендуется исключить файлы, созданные в процессе сборки (например,distкаталог), в противном случае эти файлы будут вызывать двойное появление предложений и замедлять работу IntelliSense.

Используйте атрибут включения

Кроме того, файлы могут быть явно установлены в проекте с помощью атрибута include (глобальный режим). если не существуетincludeатрибут, по умолчанию включаются все файлы в каталоге и подкаталогах. когда указаноincludeАтрибут, только эти указанные файлы включены. Ниже приведен пример с явнымincludeПримеры свойств

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es6"
  },
  "include": ["src/**/*"]
}

Tip:Пути к файлам в exclude и include относятся к местоположению jsconfig.json.

jsconfig Options

Следующие элементы используются для настройки поддержки языка JavaScript.jsconfigизcompilerOptions

Tip:Не дайте себя обмануть компиляторомOptions. Это свойство существует, потому что jsconfig.json является производным от tsconfig.json, который используется для компиляции TypeScript.

Опции описывать
noLib Не включает файл библиотеки по умолчанию lib.d.ts.
target Укажите библиотеку по умолчанию lib.d.ts для использования, опционально es3/es5/es6/es2015/es2016/es2017/es2018/es2019/es2020/esnext
module Укажите модульную систему (при генерации кода модуля), необязательно amd/commonJS/es2015/es6/esnext/none/system/umd
moduleResolution Укажите, как разрешаются модули для импорта, необязательный узел/классический
checkJs Включить проверку типов для файлов JavaScript
experimentalDecorators дляES装饰器Предложения обеспечивают экспериментальную поддержку
allowSyntheticDefaultImports Разрешить импорт по умолчанию из модулей без экспорта по умолчанию. Это не влияет на генерацию кода, только на проверку типов
baseUrl Базовый каталог для разрешения не относительных имен модулей
paths Указывает карту пути для оценки относительно параметра baseUrl.

Доступны наДокументация по параметрам компиляции TypeScriptЧитайте о доступныхcompilerOptionsБольше информации о

Использование псевдонимов Webpack

Чтобы IntelliSense мог использовать псевдоним Webpack, его необходимо указать с помощью шаблона glob.paths

Например, для псевдонима ClientApp

{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "ClientApp/*": ["./ClientApp/*"]
    }
  }
}

затем используйте псевдоним

import Something from 'ClientApp/foo'

Лучшие практики

Исключите как можно больше файлов (папок), содержащих код JavaScript, но не являющихся частью исходного кода проекта.

Tip:Если в рабочей области нетjsconfig.json, VS Code по умолчанию будет исключатьnode_modulesпапка

Следующая таблица представляет собой таблицу общих компонентов проекта с папками их установки, их рекомендуется исключить:

компоненты папки для исключения
node исключатьnode_modulesпапка
webpack, webpack-dev-server Исключить папки содержимого сборки, например.dist
bower исключатьbower_componentsпапка
ember исключатьtmp andtempпапка
jspm исключатьjspm_packagesпапка

Когда проект JavaScript становится слишком большим и производительность снижается, это обычно происходит из-за библиотечных папок, таких какnode_modules) вызванный. Если VS Code обнаружит, что проект слишком велик, вам будет предложено отредактировать его.excludeсписок