Как добавить пользовательскую библиотеку в рабочий файл
В PhpStorm/WebStorm как добавить пользовательскую библиотеку, чтобы файл компилировался? В моем случае это будет Лодаш?
Я пытался добавить lodash в глобальные библиотеки, но это не помогло...
4 ответа
С помощью require
и относительные пути.
Вот сумасшедший пример использования lodash в скретч-файле:
const _ = require('./../../../DEV/node_modules/lodash');
var anything = [1, 2];
_.map(anything, function (item) {
console.log('Working >-P');
return item;
});
На самом деле, вы можете просто добавить файл к своим царапинам.
Вы можете создать его вручную, но следующее может быть более практичным:
Щелкните правой кнопкой мыши любой из ваших рабочих файлов, затем выберите «Открыть в терминале». Вы заметите, что он откроет терминал прямо в папке царапин. Это такая папка, как
C:\Users\ba\AppData\Roaming\JetBrains\WebStorm2020.2\scratches
.
Поскольку сейчас вы находитесь в правильном каталоге, вы можете просто запустить
npm init
с этого терминала, чтобы создать свой
package.json
файл. (Вам будет предложено множество вопросов, но вы можете просто нажать Enter для всех вопросов, если вас устраивают значения по умолчанию)
Этот файл просто появится в ваших царапинах вместе с другими вашими файлами.
Чтобы ответить на ваш конкретный вопрос, если вы хотите добавить lodash в эти пакеты, вы можете открыть терминал, как указано выше. Этот терминал будет в правильной папке. И тогда вы можете просто запустить свой
npm install lodash
оттуда.
Ну, я бы предложил в этом случае использовать плагин с именем Quokka.js, доступный для Webstorm и других инструментов JetBrains.
Это автоматически распознает библиотеки из node_modules
и имеют много других функций (работают намного лучше, чем чистые файлы).
Когда вы установите его, стандартные Javascript и Typescript файлы будут работать с Quokka.
Вы найдете подробности на официальной странице инструмента: https://quokkajs.com/
Пожалуйста, выберите инструмент JET BRAINS на главной странице. Надеюсь, поможет.
var path = require('path');
_require = require;
require = function (p) {
var absPath = path.join(process.cwd(), p);
var relPath = path.relative(__dirname, absPath);
return _require(relPath);
}
var Query = require('./server/libs/query_builder.js');
Немного поздно, чтобы ответить, но если вы замените функцию require, как я покажу выше, вы можете использовать ее как обычно.