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

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

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

ESLintは、JavaScriptのための構文チェックツール。全検証ルールを自由に on/offでき、独自のプロジェクトに合わせたカスタムルールを容易に設定することが可能。公開されている様々なプラグインを組み込んで使用することもできます。

Next.js

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

Q&A

1回答

294閲覧

Next.js アプリの yarn run build が通らない

hirotaka612

総合スコア32

ESLint

ESLintは、JavaScriptのための構文チェックツール。全検証ルールを自由に on/offでき、独自のプロジェクトに合わせたカスタムルールを容易に設定することが可能。公開されている様々なプラグインを組み込んで使用することもできます。

Next.js

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

0グッド

0クリップ

投稿2022/09/23 16:27

編集2022/09/23 16:57

前提

Next.js で静的なポートフォリオサイトを作っています。

実現したいこと

yarn run build を通し、vercel デプロイをおこないたい。

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

./pages/_app.tsx 5:48 Error: Parsing error: Unexpected token :

該当のソースコード

javascript

1// /pages/_app.tsx 2import "../styles/globals.scss"; 3import { AnimatePresence } from "framer-motion"; 4import { AppProps } from "next/app"; 5 6function MyApp({ Component, pageProps, router }: AppProps) { 7 return ( 8 <AnimatePresence exitBeforeEnter onExitComplete={() => window.scrollTo(0, 0)}> 9 <Component key={router.asPath} {...pageProps} /> 10 </AnimatePresence> 11 ); 12}; 13 14export default MyApp;

試したこと

AppProps を使わない形にしてみましたが

javascript

1import "../styles/globals.scss"; 2import { AnimatePresence } from "framer-motion"; 3 4function MyApp({ Component, pageProps, router }) { 5 return ( 6 <AnimatePresence exitBeforeEnter onExitComplete={() => window.scrollTo(0, 0)}> 7 <Component key={router.asPath} {...pageProps} /> 8 </AnimatePresence> 9 ); 10} 11 12export default MyApp;

Type error: Binding element 'Component' implicitly has an 'any' type. のエラーが発生。
Component, pageProps, router それぞれで型指定をしていけば解決する...??

javascript

1import "../styles/globals.scss"; 2import { AnimatePresence } from "framer-motion"; 3 4function MyApp({ Component, pageProps, router }: {Component: any, pageProps: any, router: any} ) { 5 return ( 6 <AnimatePresence exitBeforeEnter onExitComplete={() => window.scrollTo(0, 0)}> 7 <Component key={router.asPath} {...pageProps} /> 8 </AnimatePresence> 9 ); 10} 11 12export default MyApp;

試しに AppProps を使用せず、それぞれ型指定をする方式にしてみると結局
4:48 Error: Parsing error: Unexpected token : が発生するので AppProps の問題ではなく記法の問題のようでした。

typescript を入れているのですが jsx として ESLint に見られているとか...??

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

yarn run dev は普通に動き、動作は問題ないです。

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

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

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

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

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

hirotaka612

2022/09/23 17:01

./pages/_app.tsx を ./pages/_app.jsx にリネームしたところ、以下のコードで無事にコンパイルされました! やはり typescript に対する ESLint の設定が間違っているのか...?? ``` import "../styles/globals.scss"; import { AnimatePresence } from "framer-motion"; function MyApp({ Component, pageProps, router }) { return ( <AnimatePresence exitBeforeEnter onExitComplete={() => window.scrollTo(0, 0)} > <Component key={router.asPath} {...pageProps} /> </AnimatePresence> ); } export default MyApp; ```
guest

回答1

0

JavaScript

1function MyApp({ Component, pageProps, router }: AppProps) {

JavaScript

1function MyApp({ Component, pageProps, router } AppProps) {

に変更する。

投稿2022/09/23 16:38

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

hirotaka612

2022/09/23 16:41

エラーメッセージをそのまま読むと確かにそうなんですが... それだと AppProps がどこに効いているのか分からずエラーになってしまうと思います :bow:
退会済みユーザー

退会済みユーザー

2022/09/23 16:59

そうなんですね... 力になれなくてごめん
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問