问题描述
我的项目是使用Angular CLI版本1.2.6生成的.
My project was generated with Angular CLI version 1.2.6.
我可以编译项目,并且可以正常工作,但是我总是在VSCode中出错,告诉我:
I can compile the project and it works fine, but I always get error in VSCode telling me:
cannot find module '@angular/core'
cannot find module '@angular/router'
cannot find module .....
我已经附加了 tsconfig.json
文件的内容这让我感到非常沮丧,花了2个小时来找出问题所在,我还卸载并重新安装了VSCode它不起作用.
I have attached content of my tsconfig.json
filethis has been really frustrating for me, spending 2 hours to figure out what is wrong,I have also uninstalled and reinstalled the VSCodeit doesn't work.
这是我的环境规范:
@angular/cli: 1.2.6
node: 6.9.1
os: win32 x64
@angular/animations: 4.3.4
@angular/common: 4.3.4
@angular/compiler: 4.3.4
@angular/core: 4.3.4
@angular/forms: 4.3.4
@angular/http: 4.3.4
@angular/platform-browser: 4.3.4
@angular/platform-browser-dynamic: 4.3.4
@angular/router: 4.3.4
@angular/cli: 1.2.6
@angular/compiler-cli: 4.3.4
@angular/language-service: 4.3.4
OS:Microsoft与10企业版
OS: Microsoft vs 10 enterprise
项目根文件夹
.angular-cli.json
.editorconfig
.gitignore
.vscode
e2e
karma.conf.js
node_modules
package.json
protractor.conf.js
README.md
src
tsconfig.json
tslint.json
node_modules
文件夹
-@angular
--animations
--cli
--common
--compiler
--compiler-cli
--core
---@angular
---bundles
---core.d.ts
---core.metadata.json
---package.json
---public_api.d.ts
---README.md
---src
---testing
---testing.d.ts
---testing.metadata.json
--forms
--http
--language-service
--platform-browser
--platform-browser-dynamic
--router
--tsc-wrapped
@ng-bootstrap
@ngtools
-@types
--jasmine
--jasminewd2
--node
--q
--selenium-webdriver
tsconfig.json
:
{
"compileOnSave": false,
"compilerOptions": {
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2016",
"dom"
]
}
}
推荐答案
我仅在导入自己创建的组件/服务时才遇到此问题对于像我这样无法接受的解决方案的人,可以尝试以下方法:
I was facing this issue only while importing my own created components/servicesFor those of you like me, for whom the accepted solution did not work, can try this:
添加
"baseUrl": "src"
tsconfig.json 中的
.原因是可视代码IDE无法解析基本URL,因此无法解析导入的组件的路径并给出错误/警告.
in your tsconfig.json
. The reason is that visual code IDE is unable to resolve the base url so is unable to resolve path to imported components and gives error/warning.
默认情况下,角度编译器将 src
作为baseurl,因此它能够进行编译.
Whereas angular compiler takes src
as baseurl by default so it is able to compile.
注意:
您需要重新启动VS Code IDE才能使此更改生效.
You need to restart VS Code IDE to make this change come into effect.
如其中一条注释中所述,在某些情况下,更改工作空间版本也可能有效.此处有更多详细信息: https://github.com/Microsoft/vscode/issues/34681#issuecomment-331306869
As mentioned in one of the comments, in some cases changing workspace version might also work. More details here: https://github.com/Microsoft/vscode/issues/34681#issuecomment-331306869
这篇关于VSCode找不到模块"@ angular/core"或任何其他模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!