Возможно, даже не имеет значения, что мы говорим о реактивном проекте, но я указал это на всякий случай.
Я экспортирую в компоненты проекта React SSR с использованием экспорта по умолчанию, например:
import React from 'react';
export default class TestComponent extends React.PureComponent {
render() {
return (
<div className="footer">
My Footer
</div>
);
}
}
На стороне сервера все работает нормально.
В файле tsconfig.json установлен модуль commonjs.
Я пытаюсь импортировать те же модули на стороне клиента, и до сих пор у меня не получается.
Я пробовал требовать, systemjs и commonjs.
require и systemjs говорят, что экспорт не определен.
Uncaught ReferenceError: экспорт не определен
at testComponent.js: 5
т.е. эта строка:
Object.defineProperty (export, "__esModule", {value: true});
Вот скомпилированный testComponent.js:
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
class TestComponent extends react_1.default.PureComponent {
render() {
return (react_1.default.createElement("div", { className: "footer" }, "My Footer"));
}
}
exports.default = TestComponent;
Когда я пытаюсь внедрить common.js, я получаю сообщение об ошибке, в котором говорится, что элемент не найден, прежде чем я даже пытаюсь что-либо импортировать. Мое единственное предположение, что я должен пойти на полную установку, а не вставлять только common.js.
Моя цель - динамически загружать компоненты по требованию на стороне клиента, я не ищу каких-либо предопределенных решений для разделения кода. С учетом сказанного я даже не уверен, стоит ли мне работать с commonjs.