import.meta
对象是模块访问自身信息的一种方式。它是 JavaScript 语言的一部分,但其内容未标准化。每个“主机”(浏览器、运行时等)都可以自由地在 import.meta
对象上实现其希望的任何属性。
Bun 实现以下属性。
import.meta.dir; // => "/path/to/project"
import.meta.file; // => "file.ts"
import.meta.path; // => "/path/to/project/file.ts"
import.meta.url; // => "file:///path/to/project/file.ts"
import.meta.main; // `true` if this file is directly executed by `bun run`
// `false` otherwise
import.meta.resolve("zod"); // => "file:///path/to/project/node_modules/zod/index.js"
import.meta.dir | 包含当前文件的目录的绝对路径,例如 /path/to/project 。等同于 CommonJS 模块(和 Node.js)中的 __dirname |
import.meta.dirname | import.meta.dir 的别名,以兼容 Node.js |
import.meta.env | process.env 的别名。 |
import.meta.file | 当前文件的名称,例如 index.tsx |
import.meta.path | 当前文件的绝对路径,例如 /path/to/project/index.ts 。等同于 CommonJS 模块(和 Node.js)中的 __filename |
import.meta.filename | import.meta.path 的别名,以兼容 Node.js |
import.meta.main | 指示当前文件是否是当前 bun 进程的入口点。该文件是由 bun run 直接执行还是被导入的? |
| 将模块规范符(例如
|
import.meta.url | 当前文件的string url,例如 file:///path/to/project/index.ts 。等同于 浏览器中的import.meta.url |