Когда я пытаюсь преобразовать этот код с помощью babel:
import admin from 'firebase-admin';
const serviceAccount = require('./.private/app-delivery-dev.json');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: 'https://app-delivery-dev.firebaseio.com',
});
import app from './app';
app.listen(3333);
, я получаю следующий результат:
"use strict";
var _firebaseAdmin = _interopRequireDefault(require("firebase-admin"));
var _app = _interopRequireDefault(require("./app"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const serviceAccount = require("./.private/app-delivery-dev.json");
_firebaseAdmin.default.initializeApp({
credential: _firebaseAdmin.default.credential.cert(serviceAccount),
databaseURL: 'https://app-delivery-dev.firebaseio.com'
});
_app.default.listen(3333);
Но приложение должно быть импортировано только после инициализируется администратор firebase, иначе он выдаст ошибку « приложение firebase не существует ». Есть ли способ, чтобы babel не менял порядок, в котором появляются операторы импорта?
Это мой конфигурационный файл babel:
module.exports = {
presets: [
[
'@babel/preset-env',
{
targets: {
node: 'current'
}
},
],
'@babel/preset-typescript'
],
plugins: [
['module-resolver', {
alias: {
'@controller': './src/controllers',
}
}]
],
ignore: [
'**/*.test.ts',
'**/*.spec.ts',
'./.private/**/*'
]
};