【问题标题】:Less SourceMap file location relative to filesystem, not website相对于文件系统而不是网站的更少 SourceMap 文件位置
【发布时间】:2015-01-27 06:22:43
【问题描述】:

我有一个看起来像这样的文件结构(为简洁起见):

/less/
     /styles.less
/public/
       /css/
           /styles.css
           /styles.css.map
       /images/
       index.php
/gruntfile.js

Gruntfile.js:

less: {
    options: {
        sourceMap: true,
        sourceMapFilename: 'public/css/styles.css.map',
        sourceMapURL: '/css/styles.css.map',
        sourceMapRootpath: '/'
    }
    files: {
        'public/css/styles.css': 'less/styles.less'
    }
}

在索引文件中:<link rel="stylesheet" href="/css/styles.css">

现在在开发工具中,它在 http://localhost:3845/less/styles.less 中寻找 styles.less,它不存在,因为只有 /public/ 暴露在网站上。

它曾经将文件正确映射到我的本地计算机,无需任何额外步骤,但现在不再如此。我不确定发生了什么或如何设置它。

我正在使用最新的 grunt-contrib-less (1.0.0)。

【问题讨论】:

    标签: javascript gruntjs less source-maps grunt-contrib-less


    【解决方案1】:

    浏览器无法读取 less 文件夹,因此请将您的 Less 文件删除到您的公共文件夹(或让 Web 服务器访问 less 文件夹)

    或者设置 Less 的 source-map-less-inlinesource-map-map-inline 选项:

    options: {
    sourceMap: true,
    sourceMapFileInline: true,
    outputSourceFiles: true
    }
    

    上面将地图连同您的 Less 文件的内容放入 CSS 文件中。

    【讨论】:

    • 谢谢。我只使用了outputSourceFiles: true,它似乎将较少的文件“复制”(?)到公用文件夹中。然后sourceMappingUrl 引用less 文件。似乎运作良好。
    猜你喜欢
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-07
    • 2016-07-19
    • 2012-12-14
    • 2021-09-03
    • 1970-01-01
    相关资源
    最近更新 更多