如何更改package.json输出位置

时间:2014-03-17 01:17:45

标签: javascript node.js gruntjs npm node-modules

是否有package.json选项来指定node_modules目录的相对位置?

对于我的应用程序,我有一个如下所示的目录结构。

当前目录结构

root/
---/client
-------/(client code)
---/server
------/package.json* (sibling of node_modules)
------/node_modules*
------/server.js

我想将grunt任务添加到项目的根目录中(因为它们将同时应用于客户端代码和服务器代码)。 Gruntfile.js需要是sibling of package.json

出于这个原因,我想将package.json移动到根目录,但我还想将node_modules保留在服务器目录中。 package.json中有一个选项可以做到吗?

我希望生成的目录结构如下所示。

首选目录结构

root/
---/package.json* (not a sibling of node_modules)
---/Gruntfile.js
---/client
-------/(client code)
---/server
------/node_modules*

以下选项将是最受欢迎的(npm docs中似乎没有这样的选项)

Hypothetical package.json

{
   "output_dir": "server/node_modules", // Something like this
   "dependencies": { ... },
   "devDependencies": { ... }
}

1 个答案:

答案 0 :(得分:2)

您可以使用CLI上的前缀选项来执行此操作。

npm install express --prefix ./server/node_modules

通过package.json

不知道存在类似的选项