使用 Package.json 在 $HOME/Sites 文件夹中创建一个文件夹

Using Package.json to create a folder in your $HOME/Sites folder

我正在尝试通过在开始 Web 项目时尽可能自动化来让我的生活更轻松一些。

我正在使用以下脚本来获取我的 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("_");

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();