Sử dụng ngụm-sass tôi có thể bao gồm các file .scss với @import 'filepath.scss';
ngụm-sass tập tin @import CSS
Nhưng khi tôi cố gắng để nhập các file css bình thường với @import 'filepath.css'
, Nó chỉ thêm vào dòng nhập khẩu import url(filepath.css);
đến css đầu ra tệp, thay vì thực sự nhập mã.
Làm cách nào để nhập tệp CSS cũng như tệp SCSS? Tôi muốn làm điều này để bao gồm các tập tin hình thức bower.
Đây là chức năng ngụm tôi:
// include gulp
var gulp = require('gulp');
// include deps
var minifyCSS = require('gulp-minify-css'),
autoprefix = require('gulp-autoprefixer'),
rename = require('gulp-rename'),
sass = require('gulp-sass');
var targets = {
css: './output/css'
};
// compile CSS
gulp.task('sass', function() {
gulp.src([
'./app/assets/scss/app.scss',
'./app/assets/scss/app-admin.scss'
])
.pipe(sass({
includePaths: [
'./bower_components/bootstrap-sass-official/vendor/assets/stylesheets',
'./bower_components'
],
errLogToConsole: true
}))
.pipe(autoprefix('last 2 versions'))
.pipe(gulp.dest(targets.css))
.pipe(minifyCSS())
.pipe(rename(function (path) { path.basename += '.min'; }))
.pipe(gulp.dest(targets.css));
});
Ví dụ tôi muốn bao gồm datatables mà là ở datatables/media/css/jquery.dataTables.css
tương đối so với thư mục Chòi chơi như bao gồm ở trên.
Vì vậy, trong tập tin app.scss
của tôi, tôi có @import 'datatables/media/css/jquery.dataTables.css';
Nếu tôi không thể sử dụng ngụm-sass để làm điều này, làm thế nào khác tôi có thể làm điều đó?
Gói [gulp-minify-css] (https://www.npmjs.com/package/gulp-minify-css) hiện không còn được dùng nữa. Đây là một vấn đề lớn đối với tôi, bởi vì thay thế được gợi ý (gulp-cssnano) không bao gồm một tính năng tương tự. Những gì tôi đã kết thúc là sử dụng PostCSS và chạy autoprefixer và postcss-import bằng gói đó, sau đó chạy gulp-cssnano khi hai bước đó hoàn tất. Kết quả là như nhau và bạn không sử dụng gói không dùng nữa. @Ezra FYI – evanhuntley
Điều cần biết. :) thanks @evanhuntley – Nicekiwi