首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用grunt-contrib-copy从父文件夹复制文件

使用grunt-contrib-copy从父文件夹复制文件
EN

Stack Overflow用户
提问于 2015-02-02 22:23:05
回答 2查看 676关注 0票数 0

我正在尝试使用grunt-contrib-copy从父文件夹复制文件。我的文件夹结构是:

代码语言:javascript
复制
-libs
  -html5shiv
  -respond
  -jquery
-apps
  -exampleApp1
    -GruntFile.js
    -build
  -exampleApp2
    -GruntFile.js
    -build

当我在exampleApp1中运行GruntFile.js时,我尝试将libs文件夹中的所有构建文件复制到应用程序/exampleApp1/ JavaScript中。我在GruntFile.js中有以下设置:

代码语言:javascript
复制
build_dir: 'build';

lib_files: {
  js: [
    '../../libs/html5shiv/dist/html5shiv.js',
    '../../libs/respond/dest/respond.min.js',
    '../../libs/jquery/dist/jquery.min.js'
  ]
};

copy: {
  build_libjs: {
    files: [
      {
        src: [ '<%= lib_files.js %>' ],
        dest: '<%= build_dir %>/',
        cwd: '.',
        expand: true            
      }
    ]
  },

},

目前,它将所有文件复制到应用程序/库中,因为每个文件在lib_files.js数组中都有'../../‘。如何确保文件最终位于build文件夹,如下所示:

代码语言:javascript
复制
-apps
  -exampleApp1
    -GruntFile.js
    -build
      -libs
        -html5shiv/dist/html5shiv.js
        -libs/respond/dest/respond.min.js
        -jquery/dist/jquery.min.js
EN

回答 2

Stack Overflow用户

发布于 2015-02-02 23:03:38

答案其实很简单。有一个重命名功能,可以与grunt contrib-copy一起使用。

您只需将一个参数附加到我的配置中,该参数将覆盖Grunt文件实用程序的标准重命名函数。

发自:

http://fettblog.eu/blog/2014/05/27/undocumented-features-rename/

我将其与一个简单的正则表达式相结合,并解决了问题:

代码语言:javascript
复制
  build_libjs: {
    files: [
      {
        src: [ '<%= lib_files.js %>' ],
        dest: '<%= build_dir %>/',
        cwd: '.',
        expand: true,
        rename: function(dest, src) {
          //Replace '../../' with an empty string
          return dest + ( src.replace(/^..\/..\// ,"") );
        }           
      }
    ]
  },
票数 2
EN

Stack Overflow用户

发布于 2015-05-04 22:29:34

尝试使用cwd属性更改源目录

代码语言:javascript
复制
lib_files: {


js: [
    'html5shiv/dist/html5shiv.js',
    'respond/dest/respond.min.js',
    'jquery/dist/jquery.min.js'
  ]
};

copy: {
  build_libjs: {
    files: [
      {
        src: [ '<%= lib_files.js %>' ],
        dest: '<%= build_dir %>/',
        cwd: '../libs',
        expand: true            
      }
    ]
  },
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28279852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档