質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.49%
TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Sass

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

Q&A

解決済

1回答

2653閲覧

webpackでsassのビルド

退会済みユーザー

退会済みユーザー

総合スコア0

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Sass

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

0グッド

0クリップ

投稿2018/01/10 05:45

https://teratail.com/questions/107697

こちらのサイトに従って Vue+TypeScript+WebPack の環境を構築しました。
さらにここにsassからcssを自動ビルドするシステムを追加したいです。

npm i -D webpack sass-loader node-sass style-loader css-loader
このコマンドからsassloaderだけ入れました…

いくつかサイトを調べたのですが、現状のコードに追加するような形で環境を作る方法をうまく見出せませんでした(T_T)

js

1//webpack.config.js 2 3var saveLicense = require('uglify-save-license'); 4 5 6module.exports = { 7 // メインとなるJavaScriptファイル(エントリーポイント) 8 entry: { 9 main: './src/main.ts' 10 }, 11 12 13 // ファイルの出力設定 14 output: { 15 // 出力ファイルのディレクトリ名 16 path: `${__dirname}/build`, 17 // 出力ファイル名 18 filename: '[name].min.js' 19 }, 20 module: { 21 rules: [{ 22 // 拡張子 .ts の場合 23 test: /.ts$/, 24 // TypeScript をコンパイルする 25 use: 'awesome-typescript-loader' 26 }, 27 // ソースマップファイルの処理 28 { 29 enforce: 'pre', 30 test: /.js$/, 31 loader: 'source-map-loader' 32 } 33 ] 34 }, 35 // import 文で .ts ファイルを解決するため 36 resolve: { 37 extensions: [ 38 '.ts' 39 ], 40 // Webpackで利用するときの設定 41 alias: { 42 vue: 'vue/dist/vue.js' 43 } 44 }, 45 // ソースマップを有効に 46 devtool: 'source-map' 47}; 48

json

1//package.json 2 3{ 4 "name": "today", 5 "version": "1.0.0", 6 "description": "", 7 "main": "index.js", 8 "scripts": { 9 "test": "echo \"Error: no test specified\" && exit 1", 10 "start": "webpack -w", 11 "build": "webpack -w", 12 "watch": "webpack -w" 13 }, 14 "author": "", 15 "license": "ISC", 16 "devDependencies": { 17 "awesome-typescript-loader": "^3.4.1", 18 "css-loader": "^0.28.8", 19 "extract-text-webpack-plugin": "^3.0.2", 20 "node-sass": "^4.7.2", 21 "sass-loader": "^6.0.6", 22 "source-map-loader": "^0.2.3", 23 "style-loader": "^0.19.1", 24 "typescript": "^2.6.2", 25 "webpack": "^3.10.0" 26 }, 27 "dependencies": { 28 "vue": "^2.5.13", 29 "vue-class-component": "^6.1.2" 30 } 31} 32

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

プロジェクトにREADME.mdに使い方が書いてありますので一読をおすすめします。

https://github.com/webpack-contrib/sass-loader

以下のように拡張子がSCSSの場合はSASSLOADERでCSSに変換して、CSSLOADERでCSSの依存関係を解決して、さらにSTYLELOADERでJSに変換するというルールを追加するのが一般的かと思います。

{ test: /.scss$/, use: [{ loader: "style-loader" // creates style nodes from JS strings }, { loader: "css-loader" // translates CSS into CommonJS }, { loader: "sass-loader" // compiles Sass to CSS }] }

そしてEntryから辿れるところに該当するSASSファイルを読み込むようにしておけば、Webpackが勝手に見つけてJSに変換してくれます。

例えば以下のようにTSファイルからImportするのが良いのではないでしょうか。

ts

1// main.ts 2import "path/to/your.sass"

投稿2018/01/12 06:49

shuntksh

総合スコア196

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/01/12 06:52

わ、すみません、これはこの間できました(>___<) でもタイプスクリプトで呼び出せることは知りませんでした…。 回答ありがとうございます(>___<)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問