【发布时间】:2022-01-12 09:27:57
【问题描述】:
我正在用 React 开发一个应用程序(使用 JavaScript),我想使用 Winston-react 包创建一个日志文件。 我从这里开始学习他们的教程:https://github.com/afex-connect/winston-react#readme(显然适应了 javascript)
安装
npm install winston-react
用法 App.js:
import React from 'react';
import winston from 'winston';
import { WinstonProvider } from 'winston-react';
const logger = winston.createLogger({
// ...
transports: [
// ...
new winston.transports.Console()
]
});
const App = () => (
<WinstonProvider logger={logger}>
<div>
your awesome application
</div>
</WinstonProvider>
);
使用钩子:
import React from 'react';
import { useWinstonLogger } from 'winston-logger';
const Component = () => {
const logger = useWinstonLogger();
React.useEffect(() => {
logger.info('your awesome information log!');
});
return (
<div>
your awesome component
</div>
);
};
但它抛出了这个错误:
TypeError: fs.readdirSync is not a function
node_modules/pkginfo/lib/pkginfo.js:95
92 | dir = path.dirname(pmodule.filename);
93 | }
94 |
> 95 | var files = fs.readdirSync(dir);
| ^ 96 |
97 | if (~files.indexOf('package.json')) {
98 | return path.join(dir, 'package.json');
【问题讨论】:
-
你能在codesandbox上创建一个例子吗?
标签: javascript reactjs logging fs winston