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

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

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

Yarnは、Facebook/Exponent/Google/Tildeが開発したJavaScriptのパッケージマネージャ。npmよりもインストールが速く、厳密にモジュールのバージョンを固定できるなど、npmの問題を解決。npmと互換性があり、同じpackage.jsonを使用できます。

TypeScript

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

React.js

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

Q&A

解決済

1回答

1111閲覧

webpackでビルドの際によくわからないエラーが出る

sk-sora--ypi

総合スコア528

Yarn

Yarnは、Facebook/Exponent/Google/Tildeが開発したJavaScriptのパッケージマネージャ。npmよりもインストールが速く、厳密にモジュールのバージョンを固定できるなど、npmの問題を解決。npmと互換性があり、同じpackage.jsonを使用できます。

TypeScript

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

React.js

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

0グッド

0クリップ

投稿2022/03/03 01:11

編集2022/03/03 04:18

前提・実現したいこと

react-chartjs-2を使ってグラフを出そうとしたところ、
webpackでbuildした際にエラーが出ます。
自分で書いているtsxファイル内にエラーが出ているようには思えず、
エラーの原因、解決策を知りたいです。

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

shell

1$ yarn build:prod 2yarn run v1.22.17 3$ webpack --mode=production --node-env=production && node client.js.Addtag.js 4assets by status 152 KiB [cached] 1 asset 5orphan modules 449 KiB [orphan] 10 modules 6runtime modules 663 bytes 3 modules 7modules by path ./node_modules/ 155 KiB 8 modules by path ./node_modules/style-loader/dist/runtime/*.js 5.75 KiB 6 modules 9 modules by path ./node_modules/react/ 6.48 KiB 2 modules 10 modules by path ./node_modules/react-dom/ 119 KiB 2 modules 11 modules by path ./node_modules/scheduler/ 4.91 KiB 2 modules 12 modules by path ./node_modules/css-loader/dist/runtime/*.js 2.33 KiB 2 modules 13 ./node_modules/object-assign/index.js 2.06 KiB [built] [code generated] 14 ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/react-toastify/dist/ReactToastify.css 14.7 KiB [built] [code generated] 15modules by path ./src/ 458 KiB 16 ./src/script.tsx + 10 modules 449 KiB [built] [code generated] 17 ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./src/css/output.css 9.26 KiB [built] [code generated] 18 19ERROR in ./src/script.tsx + 10 modules 20Line 6993: Unexpected token ... 21while analyzing module /Users/user/Desktop/my-prod/node_modules/chart.js/dist/chart.esm.js for concatenation 22Error: Line 6993: Unexpected token ... 23 at ErrorHandler.constructError (/Users/user/Desktop/my-prod/node_modules/esprima/dist/esprima.js:5012:22) 24 at ErrorHandler.createError (/Users/user/Desktop/my-prod/node_modules/esprima/dist/esprima.js:5028:27) 25 at Parser.unexpectedTokenError (/Users/user/Desktop/my-prod/node_modules/esprima/dist/esprima.js:1985:39) 26 at Parser.throwUnexpectedToken (/Users/user/Desktop/my-prod/node_modules/esprima/dist/esprima.js:1995:21) 27 at Parser.parseObjectPropertyKey (/Users/user/Desktop/my-prod/node_modules/esprima/dist/esprima.js:2499:33) 28 at Parser.parseObjectProperty (/Users/user/Desktop/my-prod/node_modules/esprima/dist/esprima.js:2534:25) 29 at Parser.parseObjectInitializer (/Users/user/Desktop/my-prod/node_modules/esprima/dist/esprima.js:2602:35) 30 at Parser.inheritCoverGrammar (/Users/user/Desktop/my-prod/node_modules/esprima/dist/esprima.js:2285:37) 31 at Parser.parsePrimaryExpression (/Users/user/Desktop/my-prod/node_modules/esprima/dist/esprima.js:2354:38) 32 at Parser.inheritCoverGrammar (/Users/user/Desktop/my-prod/node_modules/esprima/dist/esprima.js:2285:37) 33 34webpack 5.69.1 compiled with 1 error in 6252 ms 35error Command failed with exit code 1. 36info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

該当のソースコード

JavaScript:webpack.config.js

1// Generated using webpack-cli https://github.com/webpack/webpack-cli 2const path = require("path"); 3const GasPlugin = require("gas-webpack-plugin"); 4 5const isProduction = process.env.NODE_ENV == "production"; 6 7const config = { 8 entry: { 9 client: "./src/script.tsx", 10 }, 11 devtool: false, 12 output: { 13 filename: "[name].js", 14 path: path.resolve(__dirname, "dist"), 15 }, 16 plugins: [new GasPlugin()], 17 module: { 18 rules: [ 19 { 20 test: /\.(ts|tsx)$/i, 21 use: [ 22 { 23 loader: "babel-loader", 24 options: { 25 presets: ["@babel/preset-env", "@babel/preset-react", "@babel/preset-typescript"], 26 }, 27 }, 28 "ts-loader", 29 ], 30 exclude: ["/node_modules/"], 31 }, 32 { 33 test: /\.(eot|svg|ttf|woff|woff2|png|jpg|gif)$/i, 34 type: "asset", 35 }, 36 { 37 test: /\.css$/i, 38 use: ["style-loader", { loader: "css-loader", options: { url: false } }], 39 }, 40 41 // Add your rules for custom modules here 42 // Learn more about loaders from https://webpack.js.org/loaders/ 43 ], 44 }, 45 resolve: { 46 extensions: [".tsx", ".ts", ".js"], 47 }, 48}; 49 50module.exports = () => { 51 if (isProduction) config.mode = "production"; 52 else config.mode = "development"; 53 return config; 54};

JSON:package.json

1{ 2 "name": "my-prod", 3 "version": "1.0.0", 4 "description": "", 5 "main": "./src/script.ts", 6 "scripts": { 7 "build": "npm-run-all --serial delete:file build:css build:prod move:file", 8 "push": "clasp push", 9 "delete:file": "rimraf -g dist/*.{js,html}", 10 "move:file": "cpx \"src/**/*.html\" dist", 11 "build:dev": "webpack --mode=development && node client.js.Addtag.js", 12 "build:prod": "webpack --mode=production --node-env=production && node client.js.Addtag.js", 13 "build:css": "tailwindcss -i ./src/css/input.css -o ./src/css/output.css", 14 "watch": "webpack --watch" 15 }, 16 "keywords": [], 17 "license": "ISC", 18 "devDependencies": { 19 "@babel/core": "^7.17.5", 20 "@babel/plugin-transform-runtime": "^7.17.0", 21 "@babel/preset-env": "^7.16.11", 22 "@babel/preset-react": "^7.16.7", 23 "@babel/preset-typescript": "^7.16.7", 24 "@babel/runtime": "^7.17.2", 25 "@google/clasp": "^2.4.1", 26 "@types/google-apps-script": "^1.0.45", 27 "@types/google.visualization": "^0.0.68", 28 "@types/react": "^17.0.39", 29 "@types/react-dom": "^17.0.12", 30 "@webpack-cli/generators": "^2.4.2", 31 "babel-loader": "^8.2.3", 32 "chart.js": "^3.7.1", 33 "cpx": "^1.5.0", 34 "css-loader": "^6.6.0", 35 "gas-webpack-plugin": "^2.1.0", 36 "html-webpack-plugin": "^5.5.0", 37 "npm-run-all": "^4.1.5", 38 "react": "^17.0.2", 39 "react-chartjs-2": "^4.0.1", 40 "react-dom": "^17.0.2", 41 "react-toastify": "^8.2.0", 42 "rimraf": "^3.0.2", 43 "style-loader": "^3.3.1", 44 "tailwindcss": "^3.0.23", 45 "ts-loader": "^9.2.7", 46 "typescript": "^4.6.2", 47 "webpack": "^5.69.1", 48 "webpack-cli": "^4.9.2" 49 } 50}

JSON:tsconfig.json

1{ 2 "compilerOptions": { 3 "allowSyntheticDefaultImports": true, 4 "noImplicitAny": false, 5 "module": "es6", 6 "target": "es2021", 7 "allowJs": true, 8 "jsx": "react", 9 "typeRoots": [ 10 "node_modules/@types", 11 "types" 12 ], 13 "outDir": "dist/script.js", 14 "moduleResolution": "node" 15 }, 16}

試したこと

最初はts-loaderのみでやっていましたが今回のエラーが発生。
色々検索していく中でbabelを使うと解決...のような文言を見た気がしましたので、
babel-loaderも導入しましたが、結果は変わらず...

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

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

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

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

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

AbeTakashi

2022/03/03 02:44

ぱっと見た感じでは第三者がエラーの原因がわかるような情報はないように思えます。なので、ちょっと面倒ではありますが、地道なデバッグでエラー箇所の特定をする方が良いと思います。必要最低限のソースコードでビルドして、それが問題なければちょっとずつ付け足して・・・みたいな方法もありです。
sk-sora--ypi

2022/03/03 03:34

ありがとうございます。 チャートを使わなければビルドが通るので本当に原因がわからない状態です。。。 もう少し探ってみます。
guest

回答1

0

自己解決

もしやと思い、GASPluginからHtmlWebpackPluginを使用すると問題なくビルドが通りました。

diff

1- const GasPlugin = require("gas-webpack-plugin"); 2+ const HtmlWebpackPlugin = require("html-webpack-plugin"); 3/*.省略 */ 4- plugins: [new GasPlugin()], 5+ plugins: [new HtmlWebpackPlugin()],

投稿2022/03/03 04:02

sk-sora--ypi

総合スコア528

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問