Я пытаюсь настроить проект с общим кодом для реакции и реагирования-нативного, который был создан с использованием create-реагировать-нативного приложения, и оттуда добавив скрипт узла для загрузки веб-версии.
Простой пример hello world работал без заминок, но проблема заключается в первом очень простом компоненте, который имеет общий файл controller.js.
Полученное сообщение об ошибке выглядит следующим образом:
TypeError: Конструктор класса HqHeaderController не может быть вызван без 'new'
Это мой компонент ->, который работает, когда я не использую контроллер.
hq-header.web.js
import React from 'react';
// Imports => Controller
import HqHeaderController from './hq-header.controller';
// Component
class HqHeader extends HqHeaderController {
render() {
return <div>HQ Header Web</div>;
}
}
export default HqHeader;
hq-header.controller.js
import { Component } from 'react';
// Controller
class HqHeaderController extends Component {
componentDidMount() {
this.init();
}
init() {
console.group('[HqHeaderController] => fn.Init');
console.groupEnd();
}
}
export default HqHeaderController;
.babel-rc.js
module.exports = {
presets: [
"babel-preset-expo",
[
"@babel/env",
{
useBuiltIns: "usage",
modules: "commonjs",
targets: {
esmodules: true,
node: "current"
},
debug: true,
}
],
[
"@babel/preset-react",
{
development: process.env.BABEL_ENV === "development",
},
],
],
plugins: ["@babel/transform-react-jsx", "@babel/transform-react-jsx-source"],
};
Конфигурация Babel-загрузчика вwebback используя oneOf:
{
test: /\.web?\.?(js|jsx|mjs)$/,
include: paths.appSrc,
exclude: /node_modules/,
loader: require.resolve('babel-loader'),
options: {
// This is a feature of `babel-loader` for webpack (not Babel itself).
// It enables caching results in ./node_modules/.cache/babel-loader/
// directory for faster rebuilds.
cacheDirectory: true,
},
},
Что я здесь не так делаю?