我正在尝试配置gulp以将SASS(*.scss)文件转换为CSS、autoprefix,并且还想为编译的CSS文件生成一个源映射文件。我正在尝试创建两个css文件,一个是普通的,另一个是它的缩小版。这两个CSS文件都需要有源映射。我有以下gulp配置文件,但是,由它生成的源映射是不正确的。当我在没有autoprefixer的情况下运行gulp任务时,一切都很好,但是使用autoprefixer时,sourcemaps就会被弄乱,即在chorme dev Tools中打开时,它指向了不正确的行号。
我尝试过多种配置,如内联源映射和单独的源映射。我甚至试着在自动重修复之前加载sourcemaps,然后在自动重修复完成之后将其写入文件。
const { src, dest } = require('gulp');
const sass = require('gulp-sass');
const postcss = require('gulp-postcss');
const clone = require('gulp-clone');
const merge = require('merge-stream');
const rename = require('gulp-rename');
const sourcemaps = require('gulp-sourcemaps');
const sassUnicode = require('gulp-sass-unicode');
const prefix = require('autoprefixer');
const minify = require('cssnano');
const {paths} = require('./config.html" target="_blank">js');
/*
* Node Sass will be used by defualt, but it is set explicitly here for -
* forwards-compatibility in case the default ever changes
*/
sass.compiler = require('node-sass');
sass_options = {
// outputStyle: 'compressed',
outputStyle: 'compact',
// outputStyle: 'nested',
// outputStyle: 'expanded'
sourceComments: false,
precision: 10
};
prefix_options = {
browsers: ['last 2 versions', '> 5%', 'Firefox ESR'],
cascade: false
};
minify_options = {
discardComments: {
removeAll: true
}
}
// Process, compile, lint and minify Sass files
const buildStyles = function (done) {
var source = src(paths.styles.input)
.pipe(sourcemaps.init())
.pipe(sass(sass_options).on('error', sass.logError))
// .pipe(sassUnicode())
.pipe(sourcemaps.write({includeContent: false}))
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(postcss([prefix(prefix_options)]));
// Create non-minified css file and its sourcemaps
var pipe1 = source.pipe(clone())
.pipe(sourcemaps.write('.'))
.pipe(dest(paths.styles.output));
// Create minified css file and its sourcemaps
var pipe2 = source.pipe(clone())
.pipe(rename({ suffix: '.min' }))
.pipe(postcss([minify(minify_options)]))
.pipe(sourcemaps.write('.'))
.pipe(dest(paths.styles.output));
return merge(pipe1, pipe2);
};
我期望正确的源映射,即使在自动重新修复,但与当前的设置,我得到了不正确的行号。(对于sourcemap文件中嵌套元素中子元素的所有样式,sourcemap指向根元素)。
在此输入图像说明
您为什么在buildstyles
->source
中调用sourceMaps.init
两次?
sourcemaps.init
应该出现在sourcemaps.write之前。在您的代码中,对于
buildfiles`中的source则是相反的。
老实说,在我看来,你的构建看起来比它需要的要复杂得多,这导致了问题。
我有一个将SASS编译成CSS的Gulp任务。这里有一个例子 上面的操作适用于其他的一切--将映射写入磁盘、添加前缀等。我使用的是最新的nodejs、gulpjs和相关的npm软件包。 my Stylesheets文件夹中的文件夹/资产结构示例: 例如,print.scss映射将正确具有。但是sectiona/style.scss映射将具有而不是我所期望的。 我已经确认将/scss/section
问题内容: 使用Maven项目和Jar文件时,在引用资源时遇到麻烦的问题… 我将所有资源都放在一个专用文件夹/ src / main / resources中,该文件夹是Eclipse中构建路径的一部分。使用以下文件引用文件 这在Eclipse中工作正常,但在Jar文件中失败-资源位于jar根目录正下方的文件夹中… 有谁知道在JAR和Eclipse中同时引用文件的“最佳实践”? 编辑: 问题是,尽
我测试了简单的scala程序并用calac编译了它 如果我运行java-cp。;scala图书馆。“jar测试”,它工作正常。是的,scala图书馆。jar文件在同一个目录中。 这是我的清单文件manifest.txt 我用罐子cfm Test.jarmanifest.txt 如果我解压生成的测试。jar文件和打开清单文件,它不包含主类字段。因此,它不能与java-jar测试一起运行。罐子 我可以
我试图放大我的mandelbrot集,我读到了这个问题:如何简单地放大mandelbrot集,但我很难理解它,它不起作用。当我这样计算新的实数和复数时: 新的mandelbrot在两个轴上都有点变形?怎么了?以下是一个例子:http://www.phpdevpad.de/index.php?id=190.
最近我看到了带有扩展随一些JavaScript库(如Angular)一起提供,这在我脑海中引起了一些问题: 是干什么用的?为什么Angular的人关心传递一个文件? 我如何(作为一个JavaScript开发人员)使用文件? 我应该关心为我的JavaScript应用程序创建文件吗? 它是如何被创建的?我看了一下,里面充满了奇怪格式的字符串,所以我假设它不是手动创建的。
输出:style.min.css 我尝试过的事情 1)尝试:将rubySass的sourcemap设置为false结果:无差异