簡體   English   中英

如何將Bower依賴關系轉移到位

[英]How to move bower dependencies into place

我有一個基於HTML的項目,並且正在使用bower.json將所有依賴項放在一起:

{
  "name": "MyProject",
  "version": "0.1",
  "main": "index.html",
  "dependencies": {
    "modernizr": "2.8.3",
    "classie": "1.0.1",
    "jquery": "2.1.1",
    "font-awesome": "4.2"
  }
}

整個過程都在git中,我不想簽入bower_components目錄。 因此,我想使用某種腳本機制將庫移動到我的項目中。

情況:

  • 我要具有以下目錄結構:

    • index.html
    • 的CSS
      • main.css
    • js
      • main.js
    • LIB
      • js
        • jQuery的
          • jquery.min.js
      • 的CSS
        • jQuery的用戶界面
          • jquery-ui.min.css
      • 的字體
        • ...
  • 一些庫不僅具有.js文件,而且還具有CSS和字體文件

  • 庫結構中的某些庫(例如,超棒的字體)參考文件

更新資料

我總結了一個基於rake腳本的方法(請參閱下文 )。 但我想知道,是否有基於Javascript / NodeJS的更優雅的方法

.gitignore文件會更容易嗎?

我認為如果您使用git ignore來避免bower_components和node_modules也可以。 但是您需要的是.bowerrc文件,其中包括:

{
    "directory": "app/libs"
} 

使用該路由,您可以指定目標文件夾。

和你的bower.json

{
  "name" : "test",
  "version": "0.1",
  "dependencies" : {
    "jquery-ui" : "latest"
  },
  "install" : {
    "path" : {
      "css": "src/css",
      "js": "src/js"
    },
    "sources" : {
      "jquery-ui" : [
        "components/jquery-ui/ui/jquery-ui.custom.js",
        "components/jquery-ui/themes/start/jquery-ui.css"
      ]
    }
  }
}

或者也可以使用諸如grunt或gulp的任務運行器

我提出了以下基於Rake腳本的解決方案:

desc 'Copy the bower libs to the projects sources'
task :copy_libs do

  js_lib = 'js/lib'
  `rm -fr #{js_lib}`
  `mkdir -p #{js_lib}`

  libraries = {
    js: [
      'jquery/dist/jquery.min.js',
      'jquery/dist/jquery.min.map',
      'modernizr/modernizr.js',
      'classie/classie.js'
    ],
    css: [
      'font-awesome/css/font-awesome.min.css'
    ],
    fonts: [
      'font-awesome/fonts/fontawesome-webfont.woff',
      'font-awesome/fonts/fontawesome-webfont.ttf',
      'font-awesome/fonts/fontawesome-webfont.svg',
    ]
  }


  bower = 'bower_components'

  libraries.each do |type,libs|
    `mkdir -p lib/#{type}`
    libs.each do |lib|
      `cp #{bower}/#{lib} lib/#{type}/`
    end    
  end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM