экспорт как модуль ES6 - PullRequest
       37

экспорт как модуль ES6

0 голосов
/ 14 декабря 2018

Я недавно начал обновлять свой репозиторий до babel 7 и webpack 4, и я получаю следующую ошибку для моей функции:

SyntaxError: Unexpected token export
at new Script (vm.js:79:7)
at createScript (vm.js:251:10)
at Object.runInThisContext (vm.js:303:10)
at Module._compile (internal/modules/cjs/loader.js:657:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:20:18)

Также при сборке с babel я получаю следующие предупреждения:

WARNING in ./server/lib/loader.js 226:16-22
"export 'lineLogger' (imported as 'logger') was not found in './logger'
 @ multi ./server/lib/loader.js

вот мой код:

    const { createLogger, format, transports }  = require('winston');
const { LOG_LEVEL: level } = require('../config')

const consoleTransport = [
  new transports.Console({
    level,
    colorize: true
  })
];

const lineLogger = createLogger({
  format: format.combine(
    format.colorize(),
    format.timestamp(),
    format.align(),
    format.printf(info => {
      const { timestamp, level, message, ...rest} = info;

      return `${timestamp} [${level}] ${message}\n ${Object.keys(rest).length ? JSON.stringify(rest, null, 2) : ''}`
    })
  ),
  transports: consoleTransport,
  exceptionHandlers: [
    new transports.Console({ colorize: true })
  ]
});

export default {
  lineLogger
}

Как же я могу экспортировать это?прежде чем у меня было:

exports.lineLogger = createLogger({

однако это больше не работает, тогда я получаю ошибку вроде: не могу экспортировать только для чтения, бла-бла-бла.Я был бы очень признателен за помощь.когда я должен использовать импорт и когда я должен использовать require, также когда я должен использовать module.exports или export default.

...