2

Less ファイルを CSS に処理するために Grunt (grunt-contrib-less) を使用しています。これは機能していますが、ソースマップは機能していません。

私の Less ファイルは に/assets/lessあり、Grunt はそれらを にコンパイルします/public/css

/public/は、インターネット上で公開されている私のフォルダーです。私のソースLessファイルが公的にアクセス可能なフォルダーにない場合でも、ソースマップを機能させる方法があると思います。しかし、私は例を見つけていません。

私のうなり声のない構成は次のとおりです。

options: {
    compress: true,
    yuicompress: true,
    optimization: 2,
    sourceMap: true,
    sourceMapFilename: "public/css/main.css.map", //Write the source map to a separate file with the given filename.
    sourceMapBasepath: "../assets/less", //Sets the base path for the Less file paths in the source map.
    sourceMapRootpath: "/",//Adds this path onto the Less file paths in the source map.
},
files: [
    {
        expand: true, // Enable dynamic expansion.
        cwd: 'assets/less/', // Src matches are relative to this path.
        src: ['*.less'], // Actual pattern(s) to match.
        dest: 'public/css/', // Destination path prefix.
        ext: '.css', // Dest filepaths will have this extension.
        extDot: 'first'   // Extensions in filenames begin after the first dot
    },
]
4

1 に答える 1

0

「働かない」とはどういう意味なのか気になります。 ソース マップには元のファイルのコピーが含まれていないことに注意してください。ソース マップには、元のファイルに関する情報が保持されます。この情報には、以下に示すようなファイル名 (uri) と行番号が含まれます。

Line: 1, column: 436 in generated code maps to: 
{"source":"src/jquery.js","line":1966,"column":26,"name":"jQuery"}

デバッグ ツールはこの情報を使用して、元のソース ファイル内の対応する行を表示できますが、ツールがこのファイルを読み取ることができない場合、これは不可能です。

したがって、ソースマップは正しいと思いますが、デバッグツールには価値がありません.

次のオプションを構成に追加する必要があります。

   options: {
        sourceMap:true,
        outputSourceFiles: true
    }

参照: grunt-contrib-less は --source-map-map-inline をサポートしていますか?

于 2014-10-04T23:30:20.880 に答える