Итак, во-первых, вы хотите установить свои пакеты с npm
, я уверен, что вы уже знаете, как это сделать. NPM - это менеджер пакетов узлов, что означает, что все управляется узлом, поэтому вы будете зависеть от функциональности node.js, и приятно просмотреть документацию
Protractor
- это сам пакет и всев противном случае он может быть установлен локально (по вашему рабочему направлению) или глобально (по вашей системе). Когда вы устанавливаете что-либо локально, оно переходит в папку node_modules
. ВАЖНО, node_modules
- это папка по умолчанию, в которой узел ищет пакеты. Поэтому, если вы используете let module = require(path)
, ваш путь может быть фактическим (относительный: ./../../module
или абсолютный: /Users/user/Documents/module
), он также может быть просто именем пакета let module = require("xlsx")
. В этом случае узел будет искать пакет xlsx
в ближайшей папке node_modules
.
Ближайший означает, что ваш проект может иметь несколько node_modules
. Рассмотрим эту структуру папок
project-+-folder1
|
+-folder2
|
+-node_modules
|
+-folder3-+-node_modules
|
+-another-folder-+
|
+-spec.js
Если вы скажете let module = require("xlsx")
в вашем spec.js
, то узел будет искать пакет xlsx
внутри вашего node_modules
ПОД folder3
, а если он не найден, он будетпереместите один каталог вверх и проверьте внутри папки node_modules
UNDER project
и т. д. Если ничего не найдено, он попытается найти указанный пакет глобально (вне вашего проекта). Это сделано для того, чтобы уменьшить трудности с относительными путями (./../../..
).
Теперь, когда у вас есть основы теории импорта в узле с использованием javascript, вот ответ на ваш вопрос:
после установки пакета вы можете импортировать его, используя require () method