我正在使用Typescript制作一个nodejs项目。对于日期时间操作,我决定使用date-fns。他们在文档中说,每次发布时,库的类型总是更新的。但是,我似乎无法导入库本身:
import * as dateFns from 'date-fns';
它记录一个Cannot find module 'date-fns'
错误。
我认为我没有任何“特殊”配置。我只是使用npm instll --save date-fns
安装该库。这是我的tsconfig.json
:
{
"compilerOptions": {
"module": "es6",
"sourceMap": true,
"noImplicitAny": false,
"target": "es5"
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules"
]
}
我以前只在Angular中使用过打字稿。因此,我可能不擅长从头开始设置打字稿环境。
答案 0 :(得分:0)
当module
选项设置为es6
时,moduleResolution
选项默认设置为classic
,这是一种不在node_modules
中出现的模块解析策略。如果您确实要使用"module": "es6"
,则需要设置"moduleResolution": "node"
。有关更多信息,请参见this handbook page。但是,如果您打算在node.js上运行此代码,则除非您使用单独的工具将ES6模块转换为CommonJS,否则可能只想设置"module": "commonjs"
。