【发布时间】:2020-04-07 06:01:35
【问题描述】:
我试图让 Winston 在 node.js (v13.11.0) 中工作,启用 ES6 模块和打字稿,但到目前为止没有成功:
我的代码是(src/lib/logging.ts):
import * as logger from 'winston';
// ...
首先我做到了:
$ npm install --save winston
已按预期将其添加到dependencies 部分:
"dependencies": {
...
"winston": "^3.2.1",
...
}
但是当我启动应用程序时,我收到以下错误:
src/lib/logging.ts:2:25 - 错误 TS2307:找不到模块“winston”。
2 import * as logger from 'winston';
然后我尝试了其他一些依赖项的工作:
$ npm install --save-dev @types/winston
npm WARN deprecated @types/winston@2.4.4: This is a stub types definition.
winston provides its own type definitions, so you do not need this installed.
这为devDependencies添加了一个旧版本,看起来没什么用:
"devDependencies": {
...
"@types/winston": "^2.4.4",
...
}
当我启动应用程序时,我得到了上面列出的同样的错误。
【问题讨论】:
-
因为您正在运行节点,请尝试按如下方式进行导入 const winston = require('winston');
-
谢谢,这行得通,但考虑到我正在使用 ES6 模块,这似乎是一个 hack。
-
太好了,我会把它添加到下面的答案中,以防其他人需要它,他/她可以正确看到它
标签: node.js typescript express winston