Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.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 路径在tsconfig.json中未按预期工作_Angular_Typescript_Jasmine - Fatal编程技术网

Angular 路径在tsconfig.json中未按预期工作

Angular 路径在tsconfig.json中未按预期工作,angular,typescript,jasmine,Angular,Typescript,Jasmine,我试图使用jasmine ts但总是得到模块未找到错误,因此我决定检查使用tsc找出问题所在,我的文件夹结构如下: \src\app\... \src\tests\... 因此,我在“tests”文件夹级别创建了tsconfig.json,如下所示 { "compileOnSave": false, "compilerOptions": { "baseUrl": "../", "paths": { "@app/*": [

我试图使用
jasmine ts
但总是得到模块未找到错误,因此我决定检查使用
tsc
找出问题所在,我的文件夹结构如下:

\src\app\...
\src\tests\...
因此,我在“
tests
”文件夹级别创建了
tsconfig.json
,如下所示

{
    "compileOnSave": false,
    "compilerOptions": {
        "baseUrl": "../", 
        "paths": {
            "@app/*": [
                "app/*"
            ] 
        }
    }
}
在我的
*.test.ts
文件中,我正在app dir中导入一个模块,但仍然得到module not found错误

找不到模块“@app/core/data/my module”

我尝试了以下命令

tsc --traceResolution test1.test.ts
它给了我

test1.test.ts:2:23 - error TS2307: Cannot find module '@app/core/data/my-module'. 

2 import { Field } from '@app/core/data/my-module'
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~
试一试

而不是

"baseUrl": "../",  

在您的tsconfig.json中,您是这样尝试的吗

在tsconfig.json中:

{
  "compilerOptions": {
    "baseUrl": "src",
    "paths": {
      "@pages/*": ["app/pages/*"],
      "@environment": ["environments/environment"]
    }
  },
}
导入时:

import { LoginComponent } from '@pages/login/login.component';

import { environment } from '@environment';

它对我有用。

不起作用。。。怎么可能呢?因为src是测试的父文件夹,而tsfoncfig在测试文件夹中,核心文件夹位于哪里。如果它在src/app/内,那么我在回答中所说的是正确的。是的,“core”在“src/app”内。我试过了,但没有出现同样的错误。你重新构建了它吗。请重新启动npm。不工作,请提供plunker样本或亲自尝试。在我这方面,它不起作用。当您运行
tsc--traceResolution test1.test.ts
时,您没有使用
tsconfig.json
文件。而是运行
tsc--traceResolution-p.
或只运行
tsc--traceResolution
,如有必要,使用
tsconfig.json
中的
文件
包含
排除
选项来限制处理的文件。如果这不能让你达到你想要的目的,请更新问题。
import { LoginComponent } from '@pages/login/login.component';

import { environment } from '@environment';