在node.js服务器上生成URL

use*_*955 1 javascript url node.js

我正在寻找一种专业技术来生成唯一的URL地址.我创建了一个node.js服务器,它应该提供这些URL来访问客户端.我该如何提供网址?

// user is connecting to www.privatebox.de

// server serves index.html with unique ID

// e.g. www.privatebox.de/8yfuzyzzm7
Run Code Online (Sandbox Code Playgroud)

Sub*_*ion 9

对于强大的解决方案,我会考虑使用node-uuid来生成UUID.

使用NPM安装包:

npm install node-uuid
Run Code Online (Sandbox Code Playgroud)

基于GitHub项目页面中的示例代码:

var uuid = require('node-uuid');

// Generate a v1 (time-based) id
var timeBasedID = uuid.v1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'

// Generate a v4 (random) id
var randomID = uuid.v4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1'

var url = 'www.privatebox.de/' + randomID;  // or + timeBasedID
Run Code Online (Sandbox Code Playgroud)

如果你正在寻找一个更短,更友好的友好ID,那么ShortId对你来说可能是一个不错的选择,尽管碰撞的可能性会更高.ShortId将生成这样的ID:

ShortId.generate() -> 'PPBqWA9'
Run Code Online (Sandbox Code Playgroud)

最后,我建议你看看这个问题,以便在javascript中生成唯一ID.

  • ShortId模块的一个问题是短网址中的“-”和“ _”字符。许多站点都使用urlEncoding对其进行转换,因此您可能会失去功能。我建议使用不受此限制的https://www.npmjs.com/package/id-shorter(id-shorter)。 (2认同)