😱
vite を build したら `Maximum call stack size exceeded` エラーが出た
config で!?と目を疑ったログはこちら。
failed to load config from /var/www/html/vite.config.js
error during build:
RangeError: Maximum call stack size exceeded
at String.replace (<anonymous>)
at removeColors (node:internal/util:80:10)
at isBelowBreakLength (node:internal/util/inspect:2014:22)
at reduceToSingleString (node:internal/util/inspect:2059:13)
at formatRaw (node:internal/util/inspect:1090:15)
at formatValue (node:internal/util/inspect:841:10)
at inspect (node:internal/util/inspect:365:10)
at formatWithOptionsInternal (node:internal/util/inspect:2292:40)
at formatWithOptions (node:internal/util/inspect:2154:10)
at console.value (node:internal/console/constructor:339:14)
vite.config.js の中身は以下
import { defineConfig, loadEnv } from 'vite';
import laravel from 'laravel-vite-plugin';
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd())
return {
server: {
host: true,
hmr: {
host: env.VITE_HOST,
},
},
plugins: [
laravel({
input: [
'resources/sass/app.scss',
'resources/js/app.js',
],
refresh: true,
watch: {
usePolling: true,
},
}),
],
resolve: {
alias: {
'@': '/resources/js',
'$': 'jQuery',
},
},
}
})
原因
.env
とサーバの環境変数が問題だった。
APP_HOST="${APP_HOST}"
VITE_HOST="${APP_HOST}"
上記のように、 .env
内でサーバの環境変数が使われるようにしていたのだが、それが設定されていなかった。
サーバに環境変数を設定したら治った。
Discussion