Statik import yalnız ECMAScript Module bağlamında çalışır. Tarayıcıda script type=module kullanılmalı; Node.js’te dosya uzantısı, en yakın package.json içindeki type alanı ve kullanılan runtime sürümü tutarlı olmalıdır.
SyntaxError: Cannot use import statement outside a module
Warning: To load an ES module, set "type": "module"
import declarations may only appear at top level of a moduleStatik import yalnız ECMAScript Module bağlamında çalışır. Tarayıcıda script type=module kullanılmalı; Node.js’te dosya uzantısı, en yakın package.json içindeki type alanı ve kullanılan runtime sürümü tutarlı olmalıdır.
Bir SyntaxError sonraki tüm scriptleri durdurabilir; önce Console’daki ilk kırmızı kaydı çözün.
Source map, pretty print ve Network URL ile hatanın kaynak mı build mi olduğunu belirleyin.
node --check, ESLint, TypeScript veya JSON doğrulayıcıyla sorunu küçük bir alana indirin.
PHP render, API body, CDN cache ve module loader sonucunu production cevabında kontrol edin.
Aynı dosyada rastgele import ve require karıştırmayın.
Anlamı: Dosya CommonJS veya classic script olarak ayrıştırılıyor.
Muhtemel neden: type module, .mjs veya script type eksik.
Anlamı: Tarayıcı script’i module olarak görmüyor.
Muhtemel neden: type=module eksik.
Anlamı: Node .js dosyasını CommonJS kabul ediyor.
Muhtemel neden: package.json type alanı yok.
Anlamı: ESM dosyada CommonJS API kullanılıyor.
Muhtemel neden: Mixed module sistemi.
Anlamı: ESM’de CommonJS globali yok.
Muhtemel neden: Module sistemi değişti.
Anlamı: Node TypeScript kaynak dosyasını doğrudan çalıştırıyor.
Muhtemel neden: Loader/derleme yok.
Anlamı: Test runner ESM/transform yapılandırması eksik.
Muhtemel neden: Babel/ts-jest ayarı.
Anlamı: Statik import blok/function içinde kullanıldı.
Muhtemel neden: Yanlış konum.
Bu ifadeyle eşleşen kayıt bulunamadı.
node -vÇalışan Node.js sürümünü gösterir.
node -e "const p=require('./package.json'); console.log(p.type,p.main,p.module)"package.json module alanlarını gösterir.
node --check src/app.jsDosyanın mevcut module yorumunda ayrıştırılıp ayrıştırılmadığını test eder.
node -e "const fs=require('fs'),p=require('path'); let d=process.cwd(); while(true){const f=p.join(d,'package.json'); if(fs.existsSync(f)){console.log(f);break} const n=p.dirname(d); if(n===d)break; d=n}"Node’un etkilenebileceği en yakın package.json konumunu bulur.
npx tsc --showConfigGerçek tsconfig module, target ve moduleResolution ayarlarını gösterir.
curl -sI https://example.com/assets/app.js | grep -iE '^HTTP|content-type|cache-control'Module dosyasının erişim ve MIME bilgisini gösterir.
<script src="/app.js"></script><script type="module" src="/app.js"></script>import fs from 'node:fs';const fs = require('node:fs');{"name":"app"}{"name":"app","type":"module"}if (aktif) { import x from './x.js'; }if (aktif) { const x = await import('./x.js'); }Chrome DevTools Console, Sources ve Network panelleriyle gerçek dosya, satır ve sunucu cevabı birlikte incelenmelidir.
Node sürümü, package.json module tipi, derleme çıktısı ve çalıştırılan gerçek dosya aynı module sistemine uygun olmalıdır.
PHP uyarıları, tema HTML’i, yönlendirme ve çift script yükleme JavaScript hatası gibi görünebilir.
JavaScript parser, JSON parser veya module loader beklenen sözdizimini bulamadığında oluşur. Hata mesajı gerçek nedenin bulunduğu satırdan sonraki token’ı işaretleyebilir.
Satır çoğu zaman parser’ın hatayı fark ettiği yerdir. Eksik tırnak, parantez veya virgül bir önceki satırda olabilir.
Source map ve DevTools pretty print kullanın; asıl kaynak dosyayı düzeltip yeniden build alın.
PHP warning, HTML hata sayfası veya kaçış yapılmadan basılan veri JavaScript/JSON sözdizimini bozabilir.
Çoğu parser hatasını bulur; ancak yanlış sunucu cevabı, çift script yükleme ve runtime module yapılandırması ayrıca incelenmelidir.
Deploy, minify, cache, paket güncellemesi, Node sürümü, PHP çıktısı veya yarım yüklenen dosya davranışı değiştirmiş olabilir.
Rehber teşhis ve güvenli düzeltme adımları sunar; değişiklikler staging ortamında test edilip Git ile geri alınabilir tutulmalıdır.
Console, Fetch/AJAX, PHP JSON cevapları, ES Modules, TypeScript build ve WISECP script yükleme sorunlarını üretim yapısını bozmadan inceliyoruz.