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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Sass

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

Onsen UI

HTML5で記述されたモバイルアプリの高速化、およびネイティブアプリライクなUIが作れるフレームワーク。 様々なJavaScriptフレームワークと併せて使用することができます。スマートフォン向けアプリ、Webサイトに必要なアニメーション、UI/UXを実装することが可能になります。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

Q&A

解決済

1回答

1939閲覧

MonacaのVueフレームワークでSassを使用したい

tara-tail

総合スコア32

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Sass

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

Onsen UI

HTML5で記述されたモバイルアプリの高速化、およびネイティブアプリライクなUIが作れるフレームワーク。 様々なJavaScriptフレームワークと併せて使用することができます。スマートフォン向けアプリ、Webサイトに必要なアニメーション、UI/UXを実装することが可能になります。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

0グッド

1クリップ

投稿2019/01/06 05:18

前提・実現したいこと

Monaca IDEの「Onsen UI V2 Vue Navigation」テンプレートを使用してアプリを作成しています。Sassを導入したいと思っていますが、うまくいきません。

発生している問題・エラーメッセージ

<style>lang="sass"またはlang="scss"を指定しましたが、これを指定しただけではトランスパイルが実行されていないようでした。

該当のソースコード

Page1.vueファイル内

vue

1<style lang="scss"> 2.aaa { 3 color: red; 4 .bbb { 5 background-color: blue; 6 } 7} 8</style>

試したこと

Monaca IDEのターミナルから、npm install sass-loader node-sass --save-devを実行し、「node_modules」フォルダの中に「node-sass」と「sass-loader」がインストールされていることを確認しています。

「webpack.config.js」内に設定を追加するのではないかと調べていますが、具体的な指定の仕方がわかっていません。

補足情報(FW/ツールのバージョンなど)

Vueテンプレート:Onsen UI V2 Vue Navigationを使用して、「src」直下の「Page1.vue」などに、直接スタイルを書いています。

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

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

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

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

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

guest

回答1

0

ベストアンサー

記載されているように試してみた限り

webpack.config.js(一部抜粋)

JavaScript

1 { 2 test: /.json$/, 3 loader: 'json' 4 }, 5 { 6 test: /.scss$/, 7 use: [ 8 'vue-style-loader', 9 'css-loader', 10 'sass-loader' 11 ] 12 } 13 ]

のようにscss部分追加すればうまく行けました

※Page1.vueファイル

vue

1<template> 2 <v-ons-page> 3 <custom-toolbar>Page 1</custom-toolbar> 4 <p style="text-align: center"> 5 This is the first page 6 <v-ons-button @click="push">Push Page 2</v-ons-button> 7 </p> 8 <div class="aaa"> 9 <div class="bbb"> 10 footer 11 </div> 12 footer2 13 </div> 14 </v-ons-page> 15</template> 16 17<style lang="scss"> 18.aaa { 19 color: red; 20 .bbb { 21 background-color: blue; 22 } 23} 24</style> 25 26<script> 27 import customToolbar from './CustomToolbar'; 28 import page2 from './Page2'; 29 export default { 30 methods: { 31 pop(){ 32 this.pageStack.pop(); 33 }, 34 push() { 35 this.pageStack.push(page2); 36 } 37 }, 38 props: ['pageStack'], 39 components: { customToolbar }, 40 key: 'key_page1', 41 } 42</script>


イメージ説明
こんな感じで出ました

投稿2019/01/09 16:07

rururu3

総合スコア5545

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

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

tara-tail

2019/01/10 02:51

rururu3さん、親切なご回答ありがとうございます。ご回答の通りに記載したら、SASS(Scss)の記法が反映されました。vue初心者でwebpackもわかっていないので、もっと勉強していきたいと思っています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問