当前位置: 首页 > 知识库问答 >
问题:

Gulp SASS源AP源不正确

呼延博易
2023-03-14

我有一个将SASS编译成CSS的Gulp任务。这里有一个例子

var paths = {
    styles: {
        src: './Stylesheets/SCSS/',
        files: './Stylesheets/SCSS/**/*.scss',
        dest: './Stylesheets/CSS/'
    }
}

gulp.task('compile-sass', function (){
    return gulp.src(paths.styles.files)
        .pipe(sourcemaps.init())
        .pipe(sass({
            outputStyle: 'compressed',
            includePaths : [paths.styles.src]
        }))
        .pipe(prefix({
            browsers: ['last 2 Chrome versions'],
            cascade: false
        }))
        .pipe(sourcemaps.write('../Maps/', {
            includeContent: false,
            sourceRoot: '../SCSS'
        }))
        .pipe(gulp.dest(paths.styles.dest));
});

上面的操作适用于其他的一切--将映射写入磁盘、添加前缀等。我使用的是最新的nodejs、gulpjs和相关的npm软件包。

my Stylesheets文件夹中的文件夹/资产结构示例:

SCSS/print.scss  
SCSS/sectionA/style.scss  
SCSS/sectionA/partial/_partialA.scss  
SCSS/sectionA/partial/_partialB.scss  
SCSS/sectionB/... etc

例如,print.scss映射将正确具有“sources”:[“print.scss”]。但是sectiona/style.scss映射将具有“sources”:[“style.css”]而不是我所期望的“sources”:[“partial/_partiala.scss”,“partial/_partialb.scss”]

我已经确认将/scss/sectiona/style.scss移动到/scss/style.scss并修改任何导入路径确实解决了这个问题。但我需要它嵌套,而不是在/scss的根目录中。

如果我能提供更多的细节,请让我知道。我试过从路径到源映射的答案是错误的,它不能解决我的问题。我还尝试过操作html" target="_blank">mapsources,但没有成功。

共有1个答案

龙默
2023-03-14

我的回答谈到了如何使用CSSNext。不推荐使用CSSNext。使用postcss-preset-env时,我的答案中的理论仍然适用。

在对PostCSS进行实验之后,我已经使用CSSNext在SASS转换CSS之后对其进行处理。CSSNext自动添加前缀,这样做会保留到源映射中原始scss文件的连接。

参见我的GitHub回购的例子。

 类似资料:
  • 问题内容: 我正在使用Checkmarx安全工具来扫描我的代码,这就是说,当我对数据库执行executeUpdate()命令时,即为“不正确的资源访问授权”。 各种谷歌搜索没有成功。 问题答案: 添加一些执行访问控制检查的代码,这些代码使用诸如“ admin ”,“ authoriz ”或“ allowed ”之类的词

  • 我正在使用HTTP采样器下载嵌入式资源。下面是来自Python.org的示例。我希望嵌入的资源的名称与实际的请求相匹配。但它们的名称与父示例相同。可能是HTTPS的产物吗?我使用的是JMeter5.3。

  • 当我选择“Package Explorer”选项卡时,我会得到一个巨大的空白空间,其中只有10个项目的顶部显示出来,而不是像它应该的那样出现在窗格的左侧,而是出现在右侧。很奇怪。如果我点击它,我会看到一个“problem curveed”弹出框,上面写着“一个错误已经发生。有关更多详细信息,请参阅错误日志。Could not initialize class org.container.direc

  • eclipse“潜在资源泄漏”警告不正确。 没有警告: 警告:潜在资源泄漏:“此位置可能未关闭响应” 为什么第二种方法会引起警告? 谢谢!

  • 问题内容: 我有全部传播异常的方法,然后在一个地方处理,但是我意识到了一些事情。 假设我有这样的方法 我的问题是,如果doSometing()方法引发异常,该语句将不会关闭,但我不想在那里处理异常。尝试并捕获只会抛出异常并最终关闭语句的正确方法吗? 问题答案:

  • 问题内容: 在清理一些代码时,FindBugs向我介绍了一些使用Connection,CallableStatement和ResultSet对象的JDBC代码。这是该代码的一个片段: FindBugs指出这些应该在finally块内。我开始重构我的代码来做到这一点,我开始想知道如何在finally块中处理代码。 Connection对象的CallableStatement的创建可能会引发异常,而我