Tôi đang cố di chuyển các phụ thuộc giao diện người dùng ra khỏi hệ thống kiểm soát phiên bản. Một sự kết hợp của Bower.io và Grunt sẽ có thể làm được điều này.Cách ghi lại url của hình ảnh trong các tệp CSS của nhà cung cấp bằng cách sử dụng Grunt
Tuy nhiên, sự cố xảy ra là tôi chưa thể giải quyết bằng cách gộp nhiều thư viện của nhà cung cấp. Ví dụ giả sử tôi có cấu trúc thư mục sau nơi thành phần thư mục là thư mục mà Bower.io tiết kiệm phụ thuộc vào:
├── assets
└── components
├── bootstrap
│ ├── img
│ │ └── glyhs.gif
│ └── less
│ └── bootstrap.css
└── jquery-ui
├── css
│ └── style.css
└── images
├── next.gif
└── prev.gif
Bây giờ giả sử tôi muốn bó cả của jQuery style.css và Bootstrap' bootstrap.css. Tôi sẽ lưu tệp được nhóm này trong nội dung/bundled.css.
Tuy nhiên trong tệp này, tham chiếu đến hình ảnh gốc (../images/next.gif và ../img/glyhs.gif) không đúng. Chúng sẽ phải được viết lại để làm việc (như vậy ../images/next.gif => ../components/jquery-ui/images/next.gif). Tôi tin rằng (d) việc viết lại các URL này là thứ mà Grunt có thể làm. Nhưng tôi dường như không thể làm việc này bằng cách sử dụng tác vụ cssmin/less/copy. Ví dụ thiết lập Grunt sau (chỉ di chuyển 1 tập tin) không làm việc:
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
less: {
options: {
compile: false,
relativeUrls: true
},
bootstrap: {
src: 'components/bootstrap/less/bootstrap.less',
dest: 'assets/bootstrap.css'
}
}
});
grunt.loadNpmTasks('grunt-contrib-less');
grunt.registerTask('dist-css', ['less']);
};
Hoặc:
Tôi đã định cấu hình Grunt hoặc làm điều gì đó sai?
Hoặc là luồng công việc tôi mô tả đơn giản là không đúng và tôi nên sử dụng một mã khác thay thế.
Cảm ơn!
Hãy thử cái này ... http://stackoverflow.com/a/24932294/1241371 Nó đã giúp tôi! – Leon