以编程方式运行 Cakefile

发布于 2024-11-04 07:26:37 字数 169 浏览 1 评论 0原文

我花了很多时间在 Coffeescript 中构建这个美妙的 Cakefile,它构建了所有内容,现在我希望能够使用与我的相关的另一个别名从该目录外部运行命令 cake build程序。

有什么方法可以从可执行文件中运行蛋糕构建吗?我可以通过 npm 在“/bin”下执行一些东西?

I spent a lot of time building this wonderful Cakefile in Coffeescript that builds everything, and now I'd like to be able to run the command cake build from outside of that directory using another alias thats relevant to my program.

Is there any way to run cake build from within a executable file? Something I can have executed by npm under '/bin'?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心的憧憬 2024-11-11 07:26:37

正如 Noli 所说,唯一的方法是对 cake.js 进行逆向工程,或者更简单地从目标目录运行 cake 命令。在 Node 下,您可以使用 child_process.spawn 来完成此操作通过将 cwd 选项设置为所需的工作目录。

As Noli says, the only way to do it is to either reverse-engineer cake.js or—more simply—run the cake command from the target directory. Under Node, you can do that using child_process.spawn by setting the cwd option to the desired working directory.

静赏你的温柔 2024-11-11 07:26:37

看起来没有命令行选项可以执行此操作

https: //github.com/jashkenas/coffee-script/blob/master/lib/cake.js#L38

  exports.run = function() {
    return path.exists('Cakefile', function(exists) {
      var arg, args, _i, _len, _ref, _results;
      if (!exists) {
        throw new Error("Cakefile not found in " + (process.cwd()));
      }

因此,您的进程可能需要先“cd”到 Cakefile 的目录,才能运行它。 (或者你可以修补 coffescript 以接受参数)

It looks like there's no command line option to do that

https://github.com/jashkenas/coffee-script/blob/master/lib/cake.js#L38

  exports.run = function() {
    return path.exists('Cakefile', function(exists) {
      var arg, args, _i, _len, _ref, _results;
      if (!exists) {
        throw new Error("Cakefile not found in " + (process.cwd()));
      }

So your process will probably need to 'cd' to the directory of your Cakefile first, in order to run it. (Or you can patch coffescript to take an argument)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文