Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs HapiJS+;创建react应用程序&x2B;Web包开发中间件配置_Reactjs_Webpack_Create React App_Hapijs_Webpack Dev Middleware - Fatal编程技术网

Reactjs HapiJS+;创建react应用程序&x2B;Web包开发中间件配置

Reactjs HapiJS+;创建react应用程序&x2B;Web包开发中间件配置,reactjs,webpack,create-react-app,hapijs,webpack-dev-middleware,Reactjs,Webpack,Create React App,Hapijs,Webpack Dev Middleware,我目前正在使用一个带有HapiJS的createreact应用程序,作为服务静态文件的代理 以下是我当前的设置: //server.js const server = new Hapi.Server({ port: process.env.PORT || 80, routes: { files: { relativeTo: Path.join(__dirname, '../build')

我目前正在使用一个带有HapiJS的
createreact应用程序
,作为服务静态文件的代理

以下是我当前的设置:

//server.js
const server = new Hapi.Server({
        port: process.env.PORT || 80,
        routes: {
            files: {
                relativeTo: Path.join(__dirname, '../build')
            }
        }
    });
await server.register(Inert);
server.route(routes); // comes from an array of routes defined in react-routes.js
await server.start();
console.log('Server running at:', server.info.uri);
我正在开发中使用
nodemon
运行服务器,并使用
react脚本start
运行react应用程序。 现在的问题是,HapiJS服务器只提供使用
react scripts build
生成的
build
文件夹中的静态文件。我知道为了连接到webpack构建,我需要使用HapiJS的中间件

查看,我发现它需要一个对
webpack.config.js
文件的引用。但我无权根据需要使用
eject
来访问
webpack.config.js

因此,问题是:

  • 如何使用HapiJS和create react app设置
    webpack dev中间件
  • 如何访问
    webpack.config.js
    而不弹出(最好不使用任何第三方模块)
注意:这不是服务器端渲染,我使用HapiJS作为代理,因为涉及跨域API调用,代理可以帮助我避免臭名昭著的CORS错误,并为应用程序提供服务

//react-routes.js
//All the routes mapped here should return an index.html file.
//React will take care of routing.
const routes = [
    { method: 'GET', path: '/home', config: fileHandler }
    { method: 'GET', path: '/account', config: fileHandler }
    ]

const fileHandler = {
    handler: (req, res) => {
        return res.file('index.html');
    }
}