Skip to content

Transition from __dirname to import.meta.url could be better documented #28114

Closed
@GrosSacASac

Description

@GrosSacASac

Relevant doc:
https://nodejs.org/dist/latest/docs/api/esm.html#esm_no_code_require_code_code_exports_code_code_module_exports_code_code_filename_code_code_dirname_code

using --experimental-modules

We could improve the documentation:
import.meta.url is not an equivalent of __dirname several lines of code are required to make it work.

Here's my current workaround, if you have a better way of doing please share:

import path from "path";
// same as previous __dirname, substring(8) removes the file:/// that is at the beginning
const dirname__ = path.dirname(import.meta.url.substring(8));

const x = readFileSync(`${dirname__}/x.html`, `utf8`);

Describe the solution you'd like
Add a few lines in the doc on how to transition from __dirname to import.meta.url

Describe alternatives you've considered
Otherwise provide import.meta.__dirname for even easier transition

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions