ホーム
/
TypeScript
/
オブジェクト.constructor.name の実行でクラス名が出力されるはずですが、なぜか「o」と出力されます。(オブジェクトは「Person」クラスのなので「Person」と表示するはず)
バンドルやトランスパイルの過程でクラス名が短縮(ミニファイ)されてしまっていることが主な原因 らしいです。
とりあえずは開発ビルド「npm run build:dev」で回避できました。
ほかには webpack.config.jsを修正し
// webpack.config.js
module.exports = {
mode: 'production',
optimization: {
minimize: true,
minimizer: [
new TerserPlugin({
terserOptions: {
keep_classnames: true, // ← クラス名を保持する
0 件のコメント:
コメントを投稿