【问题标题】:Copy files to directory outside project with Grunt使用 Grunt 将文件复制到项目外部的目录
【发布时间】:2015-11-19 21:02:54
【问题描述】:

我正在寻找一种更有效的方式来部署我的 WordPress 主题。现在我创建了主题,完成后我将内容复制到一个新文件夹中,其中没有我的所有节点、Grunt 和其他开发文件。我的开发环境在具有自动部署选项的 DesktopServer 上运行,但这也会复制不需要的开发文件。

我可以使用 Grunt 创建一个任务,该任务在触发时会将特定文件和文件夹从 /themes/dev-theme/ 复制到 /themes/production-ready-theme/ ?这样我就有了一个干净的主题,可以很容易地压缩或上传到生产服务器。

更新:我刚刚想到了一个可能的解决方案,可以从我的主题目录运行 grunt-contrib-copy。这个 Grunt 模块可以让我控制要复制的文件。但也许有更干净或更有效的方法来完成这项任务。

【问题讨论】:

  • 也许你会觉得这很有趣:github.com/gruntjs/grunt-contrib-copy
  • 我目前使用这个模块将处理后的 css 文件复制到我工作项目中的目录中。也可以用来复制项目文件夹外的文件吗?还是我需要从主题文件夹运行任务?
  • 您可能是对的,您无法从此模块访问全局目录。我只是想了一个解决方法,也许你可以使用一个shell命令:github.com/sindresorhus/grunt-shell

标签: node.js gruntjs copy taskmanager


【解决方案1】:

通过使用 Grunt Shell 模块,您可以简单地将其添加到您的 grunt 文件中:

grunt.initConfig({
    shell: {
        moveTemlates: {
            command: 'mv /themes/dev-theme/* /themes/production-ready-theme/'
        }
    }
});

【讨论】:

  • 这是我一直在寻找的解决方案,并且很容易集成到我当前的工作流程中,完美:)
【解决方案2】:

grunt-contrib-copy 模块确实有可能将文件复制到目录树上。我刚刚在我的 grunt.js 文件中使用这些设置进行了尝试,并且成功了。

Grunt Shell 完成了这项工作。但是如果你已经在你的项目中安装了 grunt-contrib-copy,你可以使用它。

      copy: {
          main: {
                src: ['css/*', 'img/*', 'icons/*', 'js/*', 'lang/*', 'lib/*', '*.php', '*.css'],
          dest: '../production-theme/'
          }
      },

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    • 2016-08-20
    • 1970-01-01
    • 2021-04-13
    相关资源
    最近更新 更多