npm script如何获取当前执行script的目录

目录结构图片描述

package.json内容如下:

{
  "name": "shiyan",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "shiyan": "node shiyan.js"
  },
  "dependencies": {
  },
  "devDependencies": {
  }
}

现在进入abc文件夹,调用npm run shiyan会出错,因为会在根目录下找shiyan.js而不是在当前的abc文件夹下找abc.js。
如果要正确执行,目前的办法有手动设置路径

  "scripts": {
    "shiyan": "node ./abc/shiyan.js"
  },

还有将package.json复制一份保存在abc文件夹内。

但这两种都很麻烦,求大神告知怎么设置根目录下的package.json,让它能自动设置当前的文件夹的路径。

感激不尽!!!

阅读 6.5k
2 个回答

不明白第二种做法麻烦在哪里

记得官方推荐的方法是用 index.js


如:你的文件夹 abc/ 里的 shiyan.js 改成 index.js,配置文件可直接运行目录,自动执行 index.js

{
  "scripts": {
    "shiyan": "node ./abc"
  }
}

运行

npm run shiyan
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题