我正在尝试为NodeJS项目配置Bunyan Logger。这个配置工作正常,直到我开始将我的项目转换为Typescript。
以下是在MyLogger.ts文件中配置记录器的配置功能:
import { createWriteStream } from 'fs'
import { stdSerializers, createLogger } from 'bunyan'
const pkg = require('../../package.json')
export default function (logLevel: string = 'debug', logFolder: string) {
const logOptions = {
serializers: stdSerializers,
name: `${pkg.name}-${pkg.version}`,
streams: [
{ level: 'error', stream: process.stderr },
{ level: logLevel, stream: process.stdout }
]
}
if (logFolder) {
logOptions.streams.push(
{ level: logLevel, stream: createWriteStream(`${logFolder}/${pkg.name}.log`) })
}
const logger = createLogger ({
name: logOptions.name,
streams: logOptions.streams
})
return logger
}
现在当我编译打字稿时,我收到以下错误:
lib / config / MyLogger.ts(5,1):错误TS4058:返回导出的类型 函数已从外部模块使用或正在使用名称“Logger” “项目文件夹/ node_modules / @类型/本仁/指数” 但无法命名。
我正在使用节点版本:6.9.2 Bunyan版:1.8.5 @ types / bunyan“:”0.0.35
任何帮助理解错误或如何解决这个问题都会很棒。 感谢。
答案 0 :(得分:0)
根据此处的打字稿问题:TS4023
我通过添加导入来运行编译:
Source <- c(1, 1, 2)
Target <- c(2, 3, 3)
Source <- Source - 1
Target <- Target - 1
NetworkData <- data.frame(Source, Target)
simpleNetwork(NetworkData)
然后将返回类型添加到导出的函数// import Link from react-router <- this doesn't work
import {Link} from react-router // <- this does
。