【问题标题】:How to automatically rewrite relative import paths to absolute?如何自动将相对导入路径重写为绝对路径?
【发布时间】:2019-11-06 10:24:34
【问题描述】:

我正在尝试将我的 javascript/typescript 项目中的所有现有相对路径重写为绝对路径。

例子:

import example from "../../example"

将被重写为

import example from "src/components/example" 

所以我正在寻找一个脚本或类似的东西来转换所有这些导入。最好可以在预提交或类似的情况下将其作为 npm 脚本运行。

有没有办法做到这一点?

【问题讨论】:

    标签: javascript node.js typescript


    【解决方案1】:

    看起来导入是为静态分析完成的,不能真正是动态的 (Importing modules using ES6 syntax and dynamic path)。我想知道您是否可以在 tsconfig.json 中执行某些操作来完成此操作。在 "compilerOptions: { ..., "paths": { "@components/": "src/components/" 下。我不确定这会解决您的用例,但可能值得试一试。所以你的导入看起来像:

    从“@components/example”导入{示例}

    【讨论】:

    • 明确地说,导入工作照原样。我只需要自动重写现有代码库中的所有导入。
    • 我认为我提供的示例将重写您的导入语句以将导入的路径映射到键/值对,因此编译器将转换导入路径中的任何位置 @components 到 src/组件。如果您在组件目录中有目录,我可以看到问题。
    猜你喜欢
    • 1970-01-01
    • 2012-01-31
    • 2017-08-01
    • 2011-11-07
    • 2011-05-02
    相关资源
    最近更新 更多