ng serve无法解析从src路径导入,但在使用相对路径时可以工作

时间:2019-02-03 09:22:46

标签: angular

使用src \ app导入某些内容时... angular cli给出错误 “找不到模块:错误:无法在'C:...'中解析'src / app / shared / k / k-api.service'“。 错误TS2307:找不到模块src / app / shared / k / k-api.service

import { KAPIService } from 'src/app/shared/k/k-api.service';

但是当使用相对路径时,它就可以正常工作

import { KAPIService } from '../../../../shared/k/k-api.service';

4 个答案:

答案 0 :(得分:1)

这里的问题是webpack无法解析路径“ src / some / path / here”。正如您可能想像的那样,它确实不是absolute path

您可以尝试编辑webpack配置并添加alias [请参阅此处:https://webpack.js.org/configuration/resolve/]

并添加诸如'Src' : path.resolve(__dirname, 'src/')之类的词语,以便您可以将其用作绝对基础Src

答案 1 :(得分:0)

我设法通过改变来解决 tsconfig.json中的"baseUrl": "./","baseUrl": "./src" 然后

import { KAPIService } from 'app/shared/k/k-api.service';

不确定这是否是最好的解决方案,但对我有用。

答案 2 :(得分:0)

检查reconfigure.json中的moduleResolution属性。当设置为node且给定路径不是相对路径时,将从启动webpack的node_modules目录中解析该模块。如果找不到该模块,则搜索父目录中的节点模块(递归搜索,直到到达根目录为止)

答案 3 :(得分:0)

我“解决”了此问题,打开了VSCode中的根项目目录(src的父目录),而不是 src 目录。