Используя Package. json, чтобы создать папку в папке $ HOME / Sites - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь сделать мою жизнь немного проще, пытаясь максимально автоматизировать процесс запуска веб-проекта.

Я использую следующий скрипт для получения файла gulpfile. js для получите папку $ HOME и ее родительский каталог.

Gulpfile. js

const homedir = require("os").homedir();
var path = require("path");
var pathDir = require("path").resolve(__dirname, "../../");
var parentDir = path
  .dirname(pathDir)
  .split(path.sep)
  .pop();

Затем я использую следующий скрипт, который находит $ HOME и присваивает файлу имена, соответствующие родительскому.

key: homedir + "/.config/valet/Certificates/" + parentDir + ".test.key",

Это прекрасно работает, когда в имени нет специальных символов или пробелов, если у родителя есть имя, например «A & B Taxis», оно ломается.

Мне нужен скрипт для удаления любых пробелов и специальные символы, так что вывод для parentDir является abtaxis.

Я придумал это, чтобы удалить пробелы, но он пока не удалит символы.

const homedir = require("os").homedir();
var path = require("path");
var pathDir = require("path").resolve(__dirname, "../../");
var parentDir = path
  .dirname(pathDir)
  .split(path.sep)
  .pop();

var newParent = parentDir.split(" ").join("_");

1 Ответ

2 голосов
/ 25 февраля 2020

parentDir можно упростить до:

var parentdir = path.basename(path.dirname(pathDir));

   // should get rid of all non-a-zA-Z0-9_ characters.
parentdir = parentDir.replace(/[^\w]/g, "");

  // if you need it lowercase use this instead
parentdir = parentDir.replace(/[^\w]/g, "").toLowerCase();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...