В значительной степени заголовок, не уверен, что я неправильно настроил ... Другие решения, на которые я смотрел, предлагали добавить target: node
, но я использую webpack для связывания реакции, поэтому моя цель не должна быть nodejs, верно?
Конфигурация веб-пакета:
const path = require('path');
require('dotenv').config();
const mode = process.env.NODE_ENV;
console.log(mode);
module.exports = {
entry: ['react-hot-loader/patch', path.resolve(__dirname, 'src')],
output: {
path: path.resolve(__dirname, '/public'),
publicPath: '/public/js/',
filename: 'bundle.js',
},
mode,
module: {
rules: [
{
enforce: 'pre',
test: /\.(js|jsx)$/,
loader: [{ loader: 'eslint-loader' }],
},
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
loader: [
{
loader: 'babel-loader',
query: { presets: ['@babel/preset-react'] },
},
],
},
],
},
resolve: {
alias: { 'react-dom': '@hot-loader/react-dom' },
modules: ['src', 'node_modules'],
extensions: ['*', '.js', '.jsx'],
},
devtool: 'source-map',
devServer: {
historyApiFallback: true,
hot: true,
contentBase: './public',
compress: true,
},
node: { __dirname: true, __filename: true },
console.log(__filename); // returns src/components/Play/components/Lobby.jsx
console.log(__dirname); // returns src/components/Play/components
console.log(process.cwd()); // returns /
console.log(path.resolve()); // returns /
Добавление дополнительного текста, чтобы иметь возможность опубликовать это. Подробнее было добавлено, чтобы опубликовать это. Извините, я не уверен, что я мог бы описать больше об этой проблеме, которую я имею ...