Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何知道调用脚本的目录?_Javascript_Node.js_Npm - Fatal编程技术网

Javascript 如何知道调用脚本的目录?

Javascript 如何知道调用脚本的目录?,javascript,node.js,npm,Javascript,Node.js,Npm,我正在运行一个在我的package.json中定义的脚本,该脚本的定义类似于generate:node generators/index.js,它只在我运行npm run generate时运行 我的脚本从项目根目录中的模板文件夹生成一个副本,它正在创建到同一根文件夹的模板副本,我希望它做的是在我当前在终端中的文件夹中创建副本 例如,我在bin/data中运行命令,我想从存储在templates/state中的模板创建文件夹的副本,以便在bin/data/state中创建此模板的副本 我试图使用

我正在运行一个在我的package.json中定义的脚本,该脚本的定义类似于generate:node generators/index.js,它只在我运行npm run generate时运行

我的脚本从项目根目录中的模板文件夹生成一个副本,它正在创建到同一根文件夹的模板副本,我希望它做的是在我当前在终端中的文件夹中创建副本

例如,我在bin/data中运行命令,我想从存储在templates/state中的模板创建文件夹的副本,以便在bin/data/state中创建此模板的副本

我试图使用proccess.cwd方法,但它会在根路径中创建所有内容,因为这是一个在存储在根文件夹中的脚本中调用的方法

如何实现这一点?

在节点脚本中使用process.env.PWD。

跨平台使用process.env.PWD失败,特别是在Windows上运行npm脚本时,默认shell为cmd.exe。PWD环境变量仅存在于*nix上。