【发布时间】:2018-08-22 14:52:12
【问题描述】:
我有一个节点模块,它是一个 CLI 脚本。 CLI 使用 process.cwd() 来获取调用 cli 脚本的当前目录(这很重要)。 当我全局安装 CLI 模块时,这工作正常 (https://www.npmjs.com/package/reduxboilergen)
npm i -g <module>
但是当我在本地安装它时
npm i -S <module>
然后
1)脚本没有被调用
2) 我在 package.json 中添加了一个脚本,然后如果我运行 npm run "script_name",它会被调用,但它总是将调用 npm 脚本的目录作为 process.cwd()。
所以如果文件夹结构是
root
- src
然后,即使我在 src 目录中运行它,它也会以 cwd() 的形式获取根目录,因为 package.json 位于根目录中。
node_module npm-run (https://github.com/timoxley/npm-run) 解决了这个问题,但是有没有其他专家可以想到的方法,这样我就不必添加这个依赖项了?
【问题讨论】:
-
请编辑您的帖子。你真正想要的东西有点令人困惑。写一些行不通的命令。
-
抱歉不清楚,基本上是重复的(我现在发现的)stackoverflow.com/questions/9679932/…
-
从 npm 5.2.0 开始,答案将是 npx
。
标签: node.js npm npm-install npm-scripts