vscode 不能识别部分包
我是做CocosCreator开发的, NodeJS主要用于写辅助脚本工具, 感觉TypeScript比JavaScript好用, 就用ts-node
做ts文件的解释器, 直接跑脚本.
我最近遇到的问题是, 在脚本同目录下, 创建tsconfig.json
文件, 把target设置为es6
, vscode 就不能识别 commander和chalk包, 但能识别 fs-extra.
用ts-node执行是能正常运行的, 只是vscode不能识别.
把target改为es5
, vscode就能识别; 使用es6
是为了不用在每个文件里导入es6-promise
, 目前我就是把tsconfig.json
删掉来避开这个问题的. 但还是想正面问题, 解决问题.
我把node_modules
放在分区根目录, 不用每个项目都 npm install
安装常用包, 我之前怀疑过是这个的问题, 但是在脚本同级目录下 npm 安装包也是出现同样的问题, 看来不是这个原因.
commander 和 chalk 这两个包是有个特殊的地方, 例如chalk包:
node_modules/@types/chalk
下是没有d.ts文件的, README.md里写到
This is a stub types definition for chalk (https://github.com/chalk/chalk).
chalk provides its own type definitions, so you don't need @types/chalk installed!
d.ts文件被放在了 node_modules\chalk\types
目录下.
我感觉是跟这个有关系, 但没有想到如何解决这个问题.
环境信息:
- 操作系统: windows 10;
- vscode版本: v1.30.2;
- node版本: v10.15.0;
- tsc版本: v3.1.4;
- ts-node版本: v7.0.1;
希望能在这里找到答案.
tsconfig.json 内容?
@waitingsong tsconfig.json 只设置了target:es6
module 和 moduleResolution 设置的啥? 把 moduleResolution 设置为 ‘Node’ 试试
@waitingsong 在tsconfig.json 中 配置"moduleResolution": “node”, vscode 能够识别chalk了, 程序也能正常运行. 我的问题解决了, 非常感谢!~~ 也很感谢这个论坛提供这么好的交流的地方!