从深度嵌套的目录结构导入模块

Zorthgo

导入不在同一文件夹中或附近的模块很麻烦。您必须继续计算“ ../”。像下面的例子一样:

import {AnswersService, AddAnswerModel, Answer} from '../../../../../../../BackendServices/AnswersService';

通过将我的System.config修改为以下示例,我可以解决所有这些“ ../”问题,并且代码在浏览器上可以完美运行。

System.config({
        packages: { 
            'app': { defaultExtension: 'js' },
            'rxjs': { defaultExtension: 'js' }
        },
        paths: {
            'rxjs/*': 'node_modules/rxjs/*',
            'BackendServices/*': 'app/BackendServices/*'
        }
    });

它将import语句简化为以下可管理的命令。

import {AnswersService, AddAnswerModel, Answer} from 'BackendServices/AnswersService';

但是这种方法的问题是我在Visual Studio Code中失去了智能感知能力。我不确定这是打字稿问题,Visual Studio代码问题还是其他问题。

有谁知道如何在不失去智能的情况下进行这项工作?

穆拉德(Mourad Zouabi)

Visual Studio只能解析位于node_modules中的相对路径和模块,例如angular2/*rxjs/*

它是TypeScript的默认moduleResolution(node)..您可以在tsconfig.json中使用'classic'..进行更改,但是VS Code将不再识别节点模块。

此故障单中讨论了该问题https://github.com/Microsoft/TypeScript/issues/5039

有很多建议..但尚未实施。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章