У меня есть проект CRA, в который я добавил SSR.Это ужин-пустышка, у него такая структура:
|- App.js
|- Header
|- Header.jsx
|- Header.scss
Приложение содержит только заголовок, который импортируется без указания расширения.
import React, { Component } from 'react';
import './App.css';
import Header from './Header/Header';
class App extends Component {
render() {
return (
<Header />
);
}
}
export default App;
При npm start
все работает успешно.Если я компилирую код и запускаю его с узлом, вместо этого он выходит с ошибкой Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.
Кажется, есть проблема при разрешении импорта без расширения .Он находит файл .scss вместо .jsx.Указание расширения при импорте или удаление конфликтующих файлов (например, Header.scss) решает проблему.Однако я хотел бы продолжать использовать импорт без расширения, как это обычно делается в CRA.
Я не знаю, как указать это в моих настройках .
Я только что выдвинул этот простой пример, чтобы вы могли запустить его самостоятельно: https://github.com/dnaranjo89/resolve_extensions_ssr