teratail
質問するログイン新規登録

Q&A

2回答

6233閲覧

node-sassとWebpackでSASSのsourcemapの行数が正しく表示されない。

kumakuma112t

総合スコア8

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2017/10/30 02:59

0

0

SASS(SCSS)でコーディングしたものをブラウザで検証するためにソースマップを入れようとあれこれ試してるのですが、行数がずれる・正しく表示されず困ってます。

Bracketsのプラグインだけ正常に出る状態です。
エディタ依存のため、node-sassやWebpackで正常に使えるようにしたいのですが、解決策ありますか?

試したパターン
■node-sassのみ
全ブラウザ: 行数のズレ、インポートすると参照ファイルが正しくない

// package.json { "name": "sample", "version": "1.0.0", "description": "", "main": "", "scripts": { "dev": "run-p server scss", "server": "browser-sync start --server www --files=\"./www/**/*\"", "scss": "node-sass -w --source-map true --output-style compressed src/scss/style.scss www/cmn/css/style.css" }, "author": "sample", "license": "MIT License", "dependencies": { "browser-sync": "^2.18.13", "node-sass": "^4.5.3", "npm-run-all": "^4.1.1" } }

■Webpack経由
Chrome: 行数のズレ、インポートすると参照ファイルが正しくない
Safari,Firefox: 親タグまで正しいが入れ子の行数まででない

// package.json { "name": "sample", "version": "1.0.0", "description": "", "main": "", "scripts": { "dev": "webpack --watch --progress" }, "author": "sample", "license": "MIT License", "dependencies": { "browser-sync": "^2.18.13", "browser-sync-webpack-plugin": "^1.2.0", "css-loader": "^0.28.7", "extract-text-webpack-plugin": "^3.0.2", "node-sass": "^4.5.3", "sass-loader": "^6.0.6", "style-loader": "^0.19.0", "webpack": "^3.8.1" } }
// webpack.config.js var path = require('path'); var ExtractTextPlugin = require('extract-text-webpack-plugin'); var BrowserSyncPlugin = require('browser-sync-webpack-plugin'); module.exports = { devtool: 'source-map', context: path.join(__dirname, 'src/scss'), entry: { style: './style.scss' }, output: { path: path.join(__dirname, 'www/cmn/css'), filename: '[name].css' }, module: { rules: [ { test: /.scss$/, use: ExtractTextPlugin.extract({ fallback: 'style-loader', use: [ 'css-loader?-url&minimize&sourceMap', 'sass-loader?outputStyle=expanded&sourceMap' ] }) } ] }, plugins: [ new ExtractTextPlugin('[name].css'), new BrowserSyncPlugin({ host: 'localhost', port: 3000, server: { baseDir: ['www'] }, files: [ 'www/*.css', 'www/*.html' ] }) ] };

■Brackets sass
全ブラウザ: outputStyle=expandedで正常に出る
ただし、outputStyleをcompressedにするとズレる

// .brackets.json { "path": { "src/scss/style.scss": { "sass.enabled": true, "sass.options": { "includePaths": ["*.scss"], "outputDir": "../../www/cmn/css/", "imagePath": null, "sourceComments": "map", "outputStyle": "expanded" }, "linting.collapsed": true } } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

guest

回答の取得に失敗しました

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問