npm WARN package.json: No repository field

It’s just a check as of NPM v1.2.20, they report this as a warning. However, don’t worry, there are sooooooo many packages which still don’t have the repository field in their package.json. The field is used for informational purposes. In the case you’re a package author, put the repository in your package.json, like this: “repository”: … Read more

Error: Can’t set headers after they are sent to the client

The res object in Express is a subclass of Node.js’s http.ServerResponse (read the http.js source). You are allowed to call res.setHeader(name, value) as often as you want until you call res.writeHead(statusCode). After writeHead, the headers are baked in and you can only call res.write(data), and finally res.end(data). The error “Error: Can’t set headers after they … Read more

How is an HTTP POST request made in node.js?

request is now deprecated. It is recommended you use an alternative In no particular order and dreadfully incomplete: native HTTP/S, const https = require(‘https’); node-fetch axios got superagent bent make-fetch-happen unfetch tiny-json-http needle urllib Stats comparision Some code examples Original answer: This gets a lot easier if you use the request library. var request = … Read more

Node.js + Nginx – What now?

Nginx works as a front end server, which in this case proxies the requests to a node.js server. Therefore you need to setup an Nginx config file for node. This is what I have done in my Ubuntu box: Create the file yourdomain.example at /etc/nginx/sites-available/: vim /etc/nginx/sites-available/yourdomain.example In it you should have something like: # … Read more

How can I do Base64 encoding in Node.js?

Buffers can be used for taking a string or piece of data and doing Base64 encoding of the result. For example: > console.log(Buffer.from(“Hello World”).toString(‘base64’)); SGVsbG8gV29ybGQ= > console.log(Buffer.from(“SGVsbG8gV29ybGQ=”, ‘base64’).toString(‘ascii’)) Hello World Buffers are a global object, so no require is needed. Buffers created with strings can take an optional encoding parameter to specify what encoding the … Read more