前提・実現したいこと
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
も導入しましたが、結果は変わらず...
回答1件
あなたの回答
tips
プレビュー