node.jsreactjsexpress

ReferenceError: path is not defined: Express


The page is rendered but it gives an error when I press any link.

 ReferenceError: path is not defined
    at app.get (/var/www/example.com/example-domain/server.js:106:19)
    at Layer.handle [as handle_request] (/var/www/example.com/example-domain/node_modules/express/lib/router/layer.js:95:5)
    at next (/var/www/example.com/example-domain/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/var/www/example.com/example-domain/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/var/www/example.com/example-domain/node_modules/express/lib/router/layer.js:95:5)
    at /var/www/example.com/example-domain/node_modules/express/lib/router/index.js:281:22
    at param (/var/www/example.com/example-domain/node_modules/express/lib/router/index.js:354:14)
    at param (/var/www/example.com/example-domain/node_modules/express/lib/router/index.js:365:14)
    at Function.process_params (/var/www/example.com/example-domain/node_modules/express/lib/router/index.js:410:3)
    at next (/var/www/example.com/example-domain/node_modules/express/lib/router/index.js:275:10)

Here is the code from server.js:

 app.use(express.static('../build'));
    app.get('*', (req, res)=> {
      const index = path.join(__dirname, '/', '../build', 'index.html' );
      res.sendFile(index);
    });

Solution

  • In the head of your file, just add

    const path = require('path');