测试代码很简单如下: const logo = new URL('http://up1.yii.so/jianli/static/square.js', import.meta.url); // import.meta.url is file:///Users/liwei/Downloads/app/web3/next.v2/src/app/optimizing/script/urlimports/page.tsx console.log(logo.href); // output: _next/static/media/square.251a1772.js 我不太理解,为啥:`http://up1.yii.so/jianli/static/square.js` \+ `file:///Users/liwei/Downloads/app/web3/next.v2/src/app/optimizing/script/urlimports/page.tsx` = `_next/static/media/square.251a1772.js` 我先找了mdn,在`new URL()`中关于第一个参数`url`如下描述: > 如果 `url` 是相对 `URL`,则会将 `base` 用作基准 `URL`。如果 `url` 是绝对 `URL`,则无论参数 `base` > 是否存在,都将被忽略。 显然nextjs中的`new URL()`和web标准不一样,但是文档又没有提到,所以想问下nextjs中的`new URL()`是什么标准?