给 CommonJS 也加了个 url 和 ts 支持,使用 Nodejs 实现

发布于 1周前 作者 h691938207 来自 nodejs/Nestjs

给 CommonJS 也加了个 url 和 ts 支持,使用 Nodejs 实现

周末撸了个小项目,让 node 也支持了从远端和 ts 加载模块,希望大家多多帮忙 review…

项目地址 https://github.com/loatheb/nedo,。

相关文章 https://zhangzhao.name/posts/how-commonjs-load-url-module/

https://i.loli.net/2018/06/04/5b14b78563263.jpg


3 回复

头像怎么做的


…很久之前找别人搞的,应该是设计的那一套工具吧

为了在使用 CommonJS 模块系统时添加 URL 和 TypeScript 支持,你可以遵循以下步骤。这些步骤将帮助你配置 Node.js 环境,使其能够处理 .ts 文件和通过 URL 导入模块。

  1. 安装必要的依赖: 你需要安装 TypeScript 编译器和 ts-node,后者允许你在 Node.js 中直接运行 TypeScript 代码。

    npm install -D typescript ts-node [@types](/user/types)/node
    
  2. 配置 tsconfig.json: 创建一个 tsconfig.json 文件来配置 TypeScript 编译器。

    {
      "compilerOptions": {
        "module": "commonjs",
        "target": "es6",
        "esModuleInterop": true,
        "skipLibCheck": true,
        "forceConsistentCasingInFileNames": true
      },
      "include": ["src"]
    }
    
  3. 使用 ts-node 运行 TypeScript 文件: 现在你可以使用 ts-node 命令来运行 .ts 文件。

    npx ts-node src/index.ts
    
  4. URL 导入模块(实验性功能): Node.js 原生并不支持通过 URL 导入模块,但你可以通过一些变通方法(如使用 ES Modules 和 importmaps)来实现类似的功能。然而,这在 CommonJS 上下文中并不直接适用。如果你确实需要类似功能,考虑将项目迁移到 ES Modules(.mjs),并使用 import.meta.url

    由于 CommonJS 和原生 URL 导入的兼容性限制,建议根据具体需求选择模块系统(CommonJS 或 ES Modules)。

希望这能帮助你在 Node.js 中实现 CommonJS 的 URL 和 TypeScript 支持!

回到顶部