все работало денди, почему-то я решил обновить некоторые пакеты. Плохое движение.
Я использую React.lazy и Webpack для разделения кода и связывания моего JavaScript. Если я нахожусь по корневому URL (http://localhost:9000/
), проблем нет. Это загрузит http://localhost:9000/dist/24.js
. Но если (с помощью реакции-маршрутизатора) я где-нибудь в приложении, скажем, http://localhost:9000/page/category/
, он попытается загрузить http://localhost:9000/page/category/dist/26.js
. Очевидно, что это не то место, где файлы сохраняются.
Я могу проигнорировать проблему в производственном процессе, используя подстановочный знак: app.get('*/dist/:js' ...
, но я не могу сделать это с моим devServer. Я уверен, что есть способ сказать ему использовать абсолютный путь всегда, но я не могу понять, как это сделать. Как мне сказать, чтобы он всегда загружался из http://localhost:9000/dist/*.js
?
Вот соответствующий фрагмент webpack.config.js
.
output: {
filename: '[name].js',
chunkFilename: '[name].js',
path: path.resolve(process.cwd(), 'dist'),
publicPath: 'dist/',
},
Я использую webpack 4.41. 2, webpack-dev-server 3.9.0, реакции-маршрутизатор 5.1.2 и реакции-горячий загрузчик 4.12.16. Если вам интересно, почему я использую process.cwd()
вместо __dirname
, это потому, что я использую этот файл через символические ссылки в нескольких приложениях.