在 Node 项目上运行 make 命令

Gay*_*yan 2 bash makefile node.js npm

我有一个 makefile,比方说;

foo2:
    echo foo2

foo: prefoo
    echo foo


foobar: prefoobar
    echo foobar

all: foo foo2 foobar
Run Code Online (Sandbox Code Playgroud)

所以我需要在节点项目上运行这个 makefile 命令。我需要运行make foomake foo2通过使用我的package.json文件。我怎样才能做到这一点?我可以写在下面吗?

"scripts": { "foo": "make foo", "foo2": "make foo2" }

谢谢

eus*_*h77 5

所以我需要在节点项目上运行这个 makefile 命令。我需要使用我的 package.json 文件运行 make foo 或 make foo2 。我怎样才能做到这一点?我可以写在下面吗?

"scripts": { "foo": "make foo", "foo2": "make foo2" }
Run Code Online (Sandbox Code Playgroud)

你可以,而且它会按照你想要的方式工作。事实上,npm 文档包含在脚本中运行 Make 的示例npm

如果你想运行 make 命令,你可以这样做。这工作得很好:

{ "scripts" :
  { "preinstall" : "./configure"
  , "install" : "make && make install"
  , "test" : "make test"
  }
}
Run Code Online (Sandbox Code Playgroud)

需要记住的一件事是,Makenpm和 Make 管理依赖关系的方式不同:

  • npm不会自动在 Makefile 中查找生命周期依赖项:您必须在;之前定义{ "prefoo": "make prefoo" }是否打算prefoo运行foonpm

  • Make 没有用于运行脚本的隐式配方,因此如果您希望 Make 运行以实现其某些目标,npm则需要添加类似的内容:npm

    prefoo:
        npm run prefoo
    
    Run Code Online (Sandbox Code Playgroud)