【问题标题】:Deno import maps and lock fileDeno 导入地图和锁定文件
【发布时间】:2022-01-24 09:36:05
【问题描述】:

据我所知,只有在使用包含所有导入的 TypeScript(或 JavaScript)文件时才能创建 Deno 锁定文件——通常来自 deps.ts 文件。

我希望能够使用(还不稳定的)导入地图并基于它生成该锁定文件。

是否可以从import_map.json 文件生成该锁定文件?如果不可能,是否有任何其他方法可以使用 deps.ts 文件,例如,能够映射依赖项以便在不使用(臭名昭著的)./.. 的任何地方导入它们?

此外,看起来在 tsconfig.json 文件上使用 paths 功能是行不通的,因为我不知道如何引用其中的任何模块。

【问题讨论】:

    标签: deno


    【解决方案1】:

    您还不能直接基于导入映射生成锁定文件。但是您可以将程序的入口文件与导入映射一起传递以生成锁定文件。

    这是一个例子。

    log.ts:

    import { green } from "colors";
    console.log(`Status: ${green("OK")}`);
    

    deps.json(导入地图):

    {
      "imports": {
        "colors": "https://deno.land/std@0.88.0/fmt/colors.ts"
      }
    }
    

    现在运行以下命令生成锁文件。

    deno cache --import-map=deps.json --unstable --lock=lock.json --lock-write log.ts
    

    lock.json 的内容可能如下所示。

    {
      "https://deno.land/std@0.88.0/fmt/colors.ts": "db22b314a2ae9430ae7460ce005e0a7130e23ae1c999157e3bb77cf55800f7e4"
    }
    

    【讨论】:

      【解决方案2】:

      Another solution 工作得非常紧密或更好,因为它实际上扫描了项目使用的所有依赖项,即运行:deno test --no-run --import-map import-map.json --lock lock.json --lock-write

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-09-06
        • 1970-01-01
        • 1970-01-01
        • 2021-08-30
        • 2021-05-16
        • 1970-01-01
        • 2021-03-06
        • 2021-06-12
        相关资源
        最近更新 更多