Я недавно начал обновлять свой репозиторий до 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.