I am trying to set up a basic contact form using SengGrid and I keep getting a "Uncaught ReferenceError: require is not defined" error.
I have this code in a script tag in the head of the html page.
var sendgrid = require('sendgrid')(username,pass);
I have looked at requirejs, but I am not sure why I am getting this error. Could someone explain to me how I can resolve this issue?
I am trying to set up a basic contact form using SengGrid and I keep getting a "Uncaught ReferenceError: require is not defined" error.
I have this code in a script tag in the head of the html page.
var sendgrid = require('sendgrid')(username,pass);
I have looked at requirejs, but I am not sure why I am getting this error. Could someone explain to me how I can resolve this issue?
Share Improve this question edited Oct 27, 2016 at 9:51 wonea 4,96917 gold badges89 silver badges143 bronze badges asked Apr 26, 2015 at 5:06 howtoexpert200howtoexpert200 811 gold badge2 silver badges4 bronze badges 2- 1 Are you really using node.js? This code is supposed to be added in your JavaScript server's code, not in the HTML page. – Guilherme Sehn Commented Apr 26, 2015 at 5:10
- 1 Node.js is not in the browser. If you want to use requirejs in the browser you will need to use a script tag to load it in. – Logan Tegman Commented Apr 26, 2015 at 5:20
2 Answers
Reset to default 10require()
is not built into the browser.
So when you say that "I have this code in a script tag in the head of the html page." that would explain why the symbol require
is not defined when the script runs. If you want to use require()
in the browser, then you need to first use a script tag to load a library that defines the require function and supports the require()
type functionality and make sure that is successfully loaded before you try to use require()
. requirejs is one such library that you could use.
require()
is built into node.js on the server so it is always available there.
Basically you need to transform your source code for the browser, replacing require calls with the actual module code. Take a look at these utilities:
- http://browserify.org/ - it does exactly the transformation you need
- https://webpack.github.io/ - a more complicated web packaging framework, with lots of other useful features.