NPM:更改节点模块

时间:2015-04-22 09:18:20

标签: node.js npm

目前,如果您使用package.json文件来管理项目的依赖项(无论是什么项目,可能是ruby,php,python或js应用程序),默认情况下一切都已安装在./node_modules下。

当某些依赖项具有要保存的二进制文件时,它们会安装在./node_modules/.bin下。

我需要的功能是允许我更改./node_modules/.bin的{​​{1}}目录。

简单示例:

由于./bin中的./vendor选项,PHP / Symfony应用程序对于Composer依赖项具有./bin目录,并且所有二进制文件都保存在config: { bin-dir: bin }中。

但如果我想使用Gulp来管理我的资产,我会创建一个composer.json文件,需要我所有的依赖项,然后运行package.json。 然后,我希望运行npm install来执行gulp,但实际上我必须运行bin/gulp,这不像node_modules/.bin/gulp那样友好。

我已经查看了browsenpm.orgdocs.npmjs.com上的package.json示例/指南,但它们都不起作用,因为它们来定义您自己的项目的二进制文件。但我没有任何二进制文件,因为我想使用其他库中的二进制文件。

NodeJS / NPM是否有选项?

1 个答案:

答案 0 :(得分:1)

您可以考虑将gulp任务添加到package.json

// package.json
{
  "scripts": {
    "build-templates": "gulp build-templates",
    "minify-js": "gulp minify-js"
  }
}

您只需运行以下命令即可运行package.json中指定的任何脚本:

  

$ npm运行build-templates
  $ npm run minify-js

你明白了。您可以在字符串中使用gulp命令而不执行./node_modules/.bin/gulp,因为npm非常智能,可以将./node_modules/.bin/中的所有脚本放入该脚本执行的路径中。