从npm全局模块生成文件到用户当前路径

时间:2019-03-03 23:50:41

标签: javascript node.js npm global fs

我正在创建一个NPM模块,该模块将全局安装在我的计算机上,假设它位于<my-global-npm-module>内,并且在此文件夹内,我有index.html文件。

目标:我的目标是复制index.html文件并将其粘贴到用户正在使用的任意位置文件夹中,例如my-app文件夹。

我有以下.js代码:

const fs = require('fs'); //File Server
const path = require('path');

let filename = 'index.html';
let src = path.join(__dirname, filename);
let destDir = path.join(__dirname, 'BlueFolder');

fs.access(destDir, (err) => {
  if(err) 
    fs.mkdirSync(destDir);  
  copyFile(src, path.join(destDir, filename));
});

function copyFile(src, dest) {

  let readStream = fs.createReadStream(src);
  readStream.once('error', (err) => {
    console.log(err);
  });

  readStream.once('end', () => {
    console.log('File has been copied.');
  });

  readStream.pipe(fs.createWriteStream(dest));
}

如果运行此.js文件,它将在index.html内复制BlueFolder文件的新副本并将其粘贴到我的<my-global-npm-module>文件夹中。正确的应该在用户文件夹内,例如:my-app文件夹。

1 个答案:

答案 0 :(得分:0)

您要寻找的功能是process.cwd()。此函数以字符串形式返回当前工作目录

来自the documentation

  

process.cwd()方法返回Node.js进程的当前工作目录。