Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 2您是否可以从项目根目录导入某些内容,而不必使用/_Angular_Typescript_Import - Fatal编程技术网

Angular 2您是否可以从项目根目录导入某些内容,而不必使用/

Angular 2您是否可以从项目根目录导入某些内容,而不必使用/,angular,typescript,import,Angular,Typescript,Import,我发现我正在慢慢地挖掘自己的坟墓,因为我的文件夹结构越深,每次需要从根组件导入模块时,我必须返回的越远: import {ComponentsModule, SharedModule} from '../../../../../../shared'; 由于该视图也有子视图,因此它将变得更长 我看了一下,这表明,这是不可能的角度2到现在为止。然而,对我来说,似乎很奇怪,没有一种方法可以实现这样的目标: import {ComponentsModule, SharedModule} from 's

我发现我正在慢慢地挖掘自己的坟墓,因为我的文件夹结构越深,每次需要从根组件导入模块时,我必须返回的越远:

import {ComponentsModule, SharedModule} from '../../../../../../shared';
由于该视图也有子视图,因此它将变得更长

我看了一下,这表明,这是不可能的角度2到现在为止。然而,对我来说,似乎很奇怪,没有一种方法可以实现这样的目标:

import {ComponentsModule, SharedModule} from 'src/app/shared';
这是将来会出现的功能,还是已经有了可能

编辑:根据@Sasxa的建议,我这样做了:

{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "*": [
        "*"
      ]
    },
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": ["es6", "dom"],
    "mapRoot": "./",
    "module": "es6",
    "moduleResolution": "node",
    "outDir": "../dist/out-tsc",
    "sourceMap": true,
    "target": "es5",
    "typeRoots": [
      "../node_modules/@types"
    ]
  }
}
但现在,当我尝试启动Angular CLI时,我遇到了一大堆错误,主要是:
输入模块中的错误未找到:错误:解析中的递归
多主模块中的错误未找到:错误:解析中的递归


缺少什么吗?

这似乎可以通过
tsconfig.json
中的
路径和
baseUrl
编译器选项来完成

以下是文档中的一个示例:

{
    "compilerOptions": {
        "baseUrl": ".",
        "paths": {
            "*": [
                    "*",
                    "generated/*"
                ]
            }
    }
}
这会告诉与模式“*”(即所有值)匹配的任何模块导入的编译器在两个位置查找:

  • “*”:表示相同的名称不变,因此map=>\
  • “generated*”表示附加前缀为“generated”的模块名称,因此map=>\generated\
应在TypeScript 1.9中提供+


更新:
我刚刚尝试过:添加
“baseUrl”:“
允许我
从“app/shared”
中的任何位置导入{…}(我的
tsconfig.json
src\
文件夹中)。编译时不会出现任何错误,并可使用Angular CLI

这似乎可以通过
tsconfig.json
中的
path
baseUrl
编译器选项来实现

以下是文档中的一个示例:

{
    "compilerOptions": {
        "baseUrl": ".",
        "paths": {
            "*": [
                    "*",
                    "generated/*"
                ]
            }
    }
}
这会告诉与模式“*”(即所有值)匹配的任何模块导入的编译器在两个位置查找:

  • “*”:表示相同的名称不变,因此map=>\
  • “generated*”表示附加前缀为“generated”的模块名称,因此map=>\generated\
应在TypeScript 1.9中提供+


更新:
我刚刚尝试过:添加
“baseUrl”:“
允许我
从“app/shared”
中的任何位置导入{…}(我的
tsconfig.json
src\
文件夹中)。编译时不会出现任何错误,并可使用Angular CLI

几个月前我一直在研究这个问题,通过制作输出内容的节点模块(有点像从“@angular”导入内容),这是可能的。我发现了这个:,并且在
tsconfig
中添加了一些选项。我也必须研究一下(;几个月前我一直在研究这个问题,通过制作节点模块来导出内容(有点像从“@angular”导入)。我发现了这个:,并且在
tsconfig
中添加了一些选项。我也必须研究一下(;是的,我只是在一个文件中更改了它,其余的仍然是
。/../../
尝试没有路径,我只是使用了
baseUrl
。啊,生病的兄弟。这会帮我很多忙!希望我能投票给你x100:DYea,我只是在一个文件中更改了它,其余的仍然是
。/../../
尝试没有路径,我只是使用了
baseUrl
。啊,生病的br>o、 这对我有很大帮助!希望我能投票给你x100:D