最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Resolve "Uncaught ReferenceError: require is not defined" error in Node.js - Stack Overflow

programmeradmin3浏览0评论

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
Add a comment  | 

2 Answers 2

Reset to default 10

require() 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.
发布评论

评论列表(0)

  1. 暂无评论