自定义本地npm模块作为依赖项

时间:2018-05-07 21:45:04

标签: json node.js npm node-modules npm-scripts

我使用npm脚本创建了一个项目,以避免使用gulp。问题是,我的项目有两个脚本:

prepare.sh (uses wget to download some files and do mkdirs)
process.js (transform a json file into another overriding some keys)
package.json

{
"scripts": {
  "process": "./process.js",
  "prepare": "./prepare.sh $npm_package_config_source $npm_config_env",
  "config": "npm run prepare && npm run process"
},
"config": {
   "source": "https://myurl"
},
"devDependencies": {
  "fs": "0.0.1-security",
  "json-override": "^0.2.0"
}

}

所以,如果我想在这个项目中应用转换,我运行npm run config,但我希望这个项目成为另一个项目的一部分,作为前端项目的本地模块。

如何设置我的项目?当我将它添加为我的前端项目的依赖项时,如何从前端项目的package.json调用配置脚本?

1 个答案:

答案 0 :(得分:0)

您可以在package.json中添加bin对象,这将导致文件安装到node_modules / .bin文件夹docs.npmjs.com/files/package.json#bin

例如

{
  "bin": {
    "process": "./process.js",
    "prepare": "./prepare.sh"
  },
  "scripts": {
    "config": "prepare && process"
  },
  "devDependencies": {
    "fs": "0.0.1-security",
    "json-override": "^0.2.0"
  }
}

此外,由于npm运行带有node_modules / .bin的脚本作为路径的一部分,因此您只需按名称调用它们即可。请记住将#!/usr/bin/env node添加到process.js

的顶部