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

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

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

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

TypeScript

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

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

Q&A

解決済

2回答

884閲覧

アニメーションを効かせたい

退会済みユーザー

退会済みユーザー

総合スコア0

Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

TypeScript

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

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

0グッド

0クリップ

投稿2020/09/10 13:46

next.js を使って開発をしています。
keyframesを使ってアニメーションを効かせたいのですが調べてみたところnext.jsではstaticというフォルダを作り、その中にcssファイルを作るらしく、プロジェクト内にsrc/static/animation.scssというファイルを作りコードを記述しました。
_document.tsxのなかに以下のように記述しましたがscssがうまく読み込まれず適応されません。
わかる人いましたらご教授お願いしたいです

追記
適応させたいアニメーションはこれです
https://www.youtube.com/watch?v=zoe8WlCV_UE

import NextDocument, { Head, Main, NextScript } from 'next/document'; class Document extends NextDocument { render() { return ( <Head> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <link rel="stylesheet" type="text/scss" href="static/animation.scss" /> <body> <Main /> <NextScript /> </body> </Head> ); } } export default Document;

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

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

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

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

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

guest

回答2

0

ベストアンサー

keyframesは試してませんが、自分の場合、SCSS自体は以下の環境で動いてます。


sassパッケージのインストール

bash

1npm install sass

next.config.jsstylesフォルダに設置したscssファイルが認識されるように設定

javascript

1const path = require('path'); 2 3const config = { 4 sassOptions: { 5 includePaths: [path.join(__dirname, 'styles')], 6 }, 7}; 8 9module.exports = config;

styles/global.scss作成

sass

1h2 { 2 color: red; 3} 4

pages/_app.tsxで読み込み

typescript

1import { AppProps } from 'next/app'; 2import '../styles/global.scss'; 3 4function MyApp({ Component, pageProps }: AppProps) { 5 return <Component {...pageProps} />; 6} 7 8export default MyApp;

投稿2020/09/10 15:22

nskhei

総合スコア704

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

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

退会済みユーザー

退会済みユーザー

2020/09/10 15:43

解決できました!! ありがとうございます!! scssフォルダはpublicのなかに入れるのが一般的なのでしょうか?
nskhei

2020/09/10 15:48

publicには入れない方が良いと思います。 自分はプロジェクトルートにstylesというフォルダを作って入れました。
退会済みユーザー

退会済みユーザー

2020/09/10 16:09

ありがとうございます!! 参考にします!
guest

0

_document.tsxのなかに以下のように記述しました

オーソドックスなNextのディレクトリ構成を取っているのなら_documentではなく_appが正解かと思います。
書き方もimportを使うだけで良いはずです(以下参考)。

投稿2020/09/10 14:51

nekoniki

総合スコア2411

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

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

退会済みユーザー

退会済みユーザー

2020/09/10 15:04 編集

ありがとうございます!! パスをpublic/style/animation.scssに変更し _app.tsxにimport '../style/animation.scss'としましたがModule not found: Can't resolve 'style/animation.scss'となってしまいます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問