繁体   English   中英

如何告诉Lineman将所有文件从/ dist复制到另一个目录?

[英]How to tell Lineman to copy all files from /dist to a different directory?

当我运行lineman build它将在/dist目录中生成所有缩小的CSS和JS。 我不知道如何使它缩小文件复制到另一个目录(我的公共目录位于路径- ../lib/app/public )。

我的Lineman配置文件如下所示。

# Exports an object that defines
#  all of the configuration needed by the projects'
#  depended-on grunt tasks.
#
# You can familiarize yourself with all of Lineman's defaults by checking out the parent file:
# https://github.com/testdouble/lineman/blob/master/config/application.coffee
#

module.exports = require(process.env['LINEMAN_MAIN']).config.extend('application', {
  removeTasks:
    common: [ "webfonts:dev", "images:dev"]
    dist: ["images:dist", "webfonts:dist", "pages:dist"]

  server:
    apiProxy:
      enabled: true
      host: 'localhost'
      port: 4567

  # enableSass: true

  # configure lineman to load additional angular related npm tasks
  loadNpmTasks: [ "grunt-ngmin"]

  # task override configuration
  prependTasks:
    dist: ["ngmin"]         # ngmin should run in dist only

  watch:
    scripts:
      files: ["generated/**"],
      tasks: ['copy:dev']

  copy:
    dev:
      files: [expand: true, cwd: 'generated', src: ['css/**', 'js/**', '!**/spec.js', 
              '!**/*.less*', '!**/*.coffee*', '!**/*.*.map'], dest: '../lib/app/public' ]

  # configuration for grunt-ngmin, this happens _after_ concat once, which is the ngmin ideal :)
  ngmin: {
    js: {
      src: "<%= files.js.concatenated %>",
      dest: "<%= files.js.concatenated %>"
    }
  },
})

我知道Lineman中有一个copy:dist默认任务,但不确定其工作方式,并且无法从http://linemanjs.com/的文档中正确地理解它

我在Lineman的帮助下解决了这个问题:

  • 编写了一个自定义任务task / dl-dev-copy.js ,以复制文件:

     module.exports = function(grunt) { return grunt.registerTask('dl-dev-copy', 'Copy UI artifacts to wildfly deployment folder', ['copy:dl-dev-copy']); }; 
  • 更新了application.js文件(关键部分很重要,在Lineman人员帮助我之后,我才能够弄清楚它):

     loadNpmTasks: lineman.config.application.loadNpmTasks.concat('grunt-contrib-copy'), copy: { 'dl-dev-copy': { files: [{ expand: true, cwd: 'generated/', src: ['**'], dest: '../../../target/iq/' }] } }, watch: { target: { "files": ["app/**/*", "spec/**/*", 'spec-e2e/**/*'], "tasks": 'dl-dev-copy' } }, appendTasks: { common: ["dl-dev-copy"] } 
  • 请参阅下面的lineman run的输出(当监视文件更改时,它是相似的,我们运行lineman build ):

     lineman run Running "common" task ... Running "copy:dl-dev-copy" (copy) task Created 6 directories, copied 23 files ... Running "watch" task Waiting... 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM