У меня есть приложение, которое запускает nodejs и выражает на стороне сервера, а React на стороне клиента.Typescript используется повсеместно.
Код на стороне клиента был создан с помощью create-реагировать-приложение и с тех пор был удален.Этот код находится в /client.
Код на стороне сервера находится в /server.
Каждая из этих папок имеет свои собственные node_modules, package.json, конфигурацию webpack и т. Д.
В настоящее время мне приходится запускать клиентскую часть на порте 3000 при разработке и сервер на порте 5000. Вместо этого я исследую, как заставить его работать, чтобы все работало с порта 5000, включая автоматическую перекомпиляцию для пакета на стороне клиента.Я думаю, что webpack-dev-middleware позволит мне сделать это.Однако у меня возникли проблемы, связанные с относительными путями.
Вот код, который я добавил на свой сервер (/server/src/app.ts):
import * as webpack from 'webpack';
import * as webpackDevMiddleware from 'webpack-dev-middleware';
const webpackConfig = require('../../client/config/webpack.config.dev.js');
const webpackCompiler = webpack(webpackConfig);
this.app.use(webpackDevMiddleware(webpackCompiler, {
publicPath: webpackConfig.output.publicPath,
stats: { colors: true }
}));
Файл конфигурации веб-пакета, на который я ссылаюсь, является стандартным, который поставляетсяс созданием-реакцией-приложением.Поскольку этот файл находится в папке / client / config, я получаю сообщения об ошибках разрешения модуля:
ERROR in ../client/config/webpack.config.dev.js
Module not found: Error: Can't resolve './env' in '/client/config'
@ ../client/config/webpack.config.dev.js 11:29-45
@ ./src/app.ts
@ multi ./src/app.ts
ERROR in ../client/config/webpack.config.dev.js
Module not found: Error: Can't resolve './paths' in '/client/config'
@ ../client/config/webpack.config.dev.js 12:14-32
@ ./src/app.ts
@ multi ./src/app.ts
ERROR in ../client/config/webpack.config.dev.js
Module not found: Error: Can't resolve './polyfills' in '/client/config'
@ ../client/config/webpack.config.dev.js 37:4-34
@ ./src/app.ts
@ multi ./src/app.ts
Эта ошибка возникает при объединении пакетов веб-пакетов на стороне сервера.Есть ли способ заставить это работать?