Загрузить заголовочные файлы в TypeScript
Пытаюсь разобраться с заголовочными файлами. В одной статье написано так:
Вначале загрузим определения типов для библиотеки jquery с помощью следующей команды:
npm install --save-dev @types/jquery
В итоге в проекте будет создана папка node_modules/@types, в которой каталог jquery будет хранить заголовочные файлы для библиотеки jquery.
Кроме того, в проекте будет создан файл package.json со следующим содержимым:{ "devDependencies": { "@types/jquery": "^3.5.5" } }
Причём далее явно видно, что подразумевается, что папка node_modules и файл package.json создадутся именно в корне проекта: там приведён скриншот проекта.
Но у меня так не получается. Я набираю команду npm install --save-dev @types/jquery
-> в терминале написано, что всё успешно:
При этом в проекте ничего не появилось: ни папки node_modules , ни файла package.json. Но я обнаружил, что в домашней директории /home/USER_NAME у меня есть папка node_modules и вот в ней после данной команды появляется поддиректория @types , в которой есть директория jquery:
Я попробовал сделать по-другому: сначала создал в корне проекта файл package_json с содержимым:
{
"devDependencies": {
"@types/jquery": "^3.5.5"
}
}
Далее опять набираю в терминале команду npm install --save-dev @types/jquery
, и вот на этот раз в корне проекта действительно появляется папка node_modules , внутри которой есть @types/jquery :
То есть у меня почему-то пакеты по-умолчанию ставятся не в проект, а вдомашнюю директорию, т.е. я так понимаю "глобально". При этом в другой статье я нашёл , что:
т.е. получается, что чтобы установить пакет глобально, нужен ключ -g , а я как раз его не ввожу. Но у меня всё равно не получается.
В общем, кто разбирается в теме подскажите пожалуйста, почему у меня не загружаются определения типов для библиотеки jquery локально, и не создаётся файл package.json ? Что я делаю не верно?
На всякий случай, версия npm 8.3.1 , версия node 16.14.0
Ответы (1 шт):
Проблема, с которой вы столкнулись, может быть связана с тем, что команда npm install
выполняется в неправильной директории или в проекте, который не был инициализирован должным образом. Давайте разберем шаги, которые помогут вам установить пакеты локально и создать файл package.json
.
1. Проверка текущей директории
Прежде всего, убедитесь, что вы находитесь в корне вашего проекта, когда выполняете команду установки. Вы можете проверить свою текущую директорию с помощью команды:
pwd
или для Windows:
cd
2. Инициализация проекта
Перед установкой пакетов необходимо инициализировать проект, если вы этого еще не сделали. Для этого выполните команду:
npm init -y
Эта команда создаст файл package.json
с настройками по умолчанию. Если вы не выполните эту команду, npm не будет знать, где хранить зависимости, и может установить их глобально.
3. Установка пакетов
После инициализации проекта вы можете установить типы для jQuery локально, выполнив команду:
npm install --save-dev @types/jquery
4. Проверка наличия файлов и папок
После выполнения команды npm install
в корне вашего проекта должны появиться следующие элементы:
- Папка
node_modules
, которая будет содержать установленные пакеты. - Обновленный файл
package.json
, в котором будут указаны зависимости в разделеdevDependencies
.
5. Убедитесь, что вы не используете npm link
Если в вашей системе установлен пакет npm link
, он может влиять на поведение установки пакетов. Убедитесь, что вы не используете его в вашей директории проекта.
6. Проверка глобальных установок
Если пакеты все еще устанавливаются глобально, выполните команду:
npm config get prefix
Эта команда покажет вам путь, куда npm будет устанавливать глобальные пакеты. Убедитесь, что вы находитесь в нужной директории и что конфигурация npm не изменена.
7. Установка с ключом -g
Как вы уже заметили, установка с ключом -g
установит пакет глобально. Например:
npm install -g @types/jquery
Это не то, что вам нужно, если вы хотите установить пакет локально, поэтому не используйте -g
.
Резюме
- Убедитесь, что вы находитесь в корне проекта.
- Инициализируйте проект с помощью
npm init -y
. - Установите пакет, используя
npm install --save-dev @types/jquery
. - Проверьте, появились ли папка
node_modules
и файлpackage.json
в корне вашего проекта.