Javascript 即使我没有,',`winston`也有`fs`模块依赖关系吗;不使用“文件传输”吗?

Javascript 即使我没有,',`winston`也有`fs`模块依赖关系吗;不使用“文件传输”吗?,javascript,winston,Javascript,Winston,我试图在cordova应用程序中使用winston依赖项。我知道cordova没有fs模块,所以我不使用winston中的文件传输。但我发现生成失败,错误如下: Module not found: Error: Can't resolve 'fs' in '/ui/node_modules/winston/lib/winston/transports' @ /Users/joeyzhao/dev/mpost/ap-ui/~/winston/lib/winston/transports/file

我试图在cordova应用程序中使用
winston
依赖项。我知道cordova没有
fs
模块,所以我不使用
winston
中的
文件传输。但我发现生成失败,错误如下:

Module not found: Error: Can't resolve 'fs' in '/ui/node_modules/winston/lib/winston/transports'
 @ /Users/joeyzhao/dev/mpost/ap-ui/~/winston/lib/winston/transports/file.js 10:11-24
 @ /Users/joeyzhao/dev/mpost/ap-ui/~/winston/lib/winston/transports/index.js
 @ /Users/joeyzhao/dev/mpost/ap-ui/~/winston/lib/winston.js
我知道温斯顿还不支持浏览器。但我试图理解的是
winston
core是否具有
fs
依赖性。这有助于我估计我应该花多少时间来制作
winston
浏览器

下面是我如何使用温斯顿的

import { createLogger, format, transports } from "winston";

export const defaultTransports = {
    console: new transports.Console()
};

export const logger = createLogger({
    transports: [defaultTransports.console],
    format: format.combine(
        format.timestamp(),

    exitOnError: false,
    exceptionHandlers: [defaultTransports.console],
    level: process.env.NODE_ENV === 'production' ? 'info' : 'debug'
});
我正在使用webpack构建代码,下面是配置:

    config: {
      devtool: isProd ? false : 'eval-source-map',
      context: sourcePath,
      target: 'web',
      watchOptions: {
        ignored: [/mobile/, /build/, /coverage/]
      },

      entry: ['./index.tsx'],

      output: {
        filename: 'bundle.js'
      },

      module: {
        rules: [
          {
            test: /^(?!.*\.generated\.ttf$).*\.ttf$/,
            use: ['css-loader', 'fontface-loader']
          },
          {
            test: /\.generated.(ttf|eot|woff|woff2)$/,
            use: [
              {
                loader: 'file-loader',
                options: {
                  name: './assets/fonts/[name].[ext]'
                }
              }
            ]
          },
          {
            test: /\.(ts|tsx)$/,
            exclude: /node_modules/,
            use: [
              {
                loader: 'babel-loader',
                options: {
                  plugins: ['@extjs/reactor-babel-plugin']
                }
              },
              {
                loader: 'awesome-typescript-loader'
              }
            ]
          },
          {
            test: /\.(png|jpg|gif|svg)$/,
            use: [
              {
                loader: 'file-loader',
                options: {
                  name: './assets/images/[name].[ext]'
                }
              },
              {
                loader: 'image-webpack-loader'
              }
            ]
          },
          {
            test: /\.css$/,
            use: [
              'style-loader',
              {
                loader: 'css-loader',
                options: {
                  camelCase: true
                }
              }
            ]
          }
        ]
      },

      resolve: {
        extensions: ['.ts', '.tsx', '.js'],
        alias: {
          '@ap-components': path.join(__dirname, 'src', 'components'),
          '@ap-contexts': path.join(__dirname, 'src', 'contexts'),
          '@ap-modules': path.join(__dirname, 'src', 'modules'),
          '@ap-views': path.join(__dirname, 'src', 'views'),
        }
      },

      plugins,

      stats: {
        colors: {
          green: '\u001b[32m'
        }
      }
    }
  };

这取决于你如何构建应用程序。堆栈清楚地表明依赖于
fs
的是
file
。如果您不需要文件传输,请防止捆绑
文件
模块。您能否更具体地说明如何防止捆绑
文件
模块?你的意思是我需要重建温斯顿吗?我想知道是否可能直接需要控制台。如果需要使用
transports
模块,
fs
导入将在您使用或不使用时触发。这取决于您如何构建应用程序。@estus我正在使用
webpack
构建这取决于您如何构建应用程序。堆栈清楚地表明依赖于
fs
的是
file
。如果您不需要文件传输,请防止捆绑
文件
模块。您能否更具体地说明如何防止捆绑
文件
模块?你的意思是我需要重建温斯顿吗?我想知道是否可能直接需要控制台。如果需要
transports
模块,则无论您是否要使用它,
fs
导入都会触发。这取决于您如何构建应用程序。@estus我正在使用
webpack
构建应用程序