Javascript 路由到静态HTML页面,以及Express中模板化的动态路由
我已经使用Express创建了一个基本的web应用程序,并提供了一个动态路径,例如:Javascript 路由到静态HTML页面,以及Express中模板化的动态路由,javascript,node.js,express,static,Javascript,Node.js,Express,Static,我已经使用Express创建了一个基本的web应用程序,并提供了一个动态路径,例如: app.get('/myroute/:user_id', function (req, res) { res.render('mytemplate'); }); 当用户访问/myroute/15 现在,我还想创建第二个路由/staticroute,它传输一个静态HTML页面somepage.HTML 最好的方法是什么?这些静态页面是否应在Express之外提供?我已经看到了有关StackOverflo
app.get('/myroute/:user_id', function (req, res) {
res.render('mytemplate');
});
当用户访问/myroute/15
现在,我还想创建第二个路由/staticroute
,它传输一个静态HTML页面somepage.HTML
最好的方法是什么?这些静态页面是否应在Express之外提供?我已经看到了有关StackOverflow的一些相关答案,但它们要么使用了不推荐的功能,要么不支持缓存。对于此类情况,没有相应的解决方案。尽管如果静态文件不需要特殊的路由,您可能会考虑使用
express.static
中间件来代替它。对于这种情况,有很多解决方案。尽管如果静态文件不需要特殊的路由,您可能会考虑使用express.static
中间件来代替它。对于这种情况,有很多解决方案。尽管如果静态文件不需要特殊的路由,您可能会考虑使用express.static
中间件来代替它。对于这种情况,有很多解决方案。虽然如果静态文件不需要特殊路由,您可以考虑使用express.static
中间件。这里有一个快速解决方案,您可以尝试使用memcached(太长,无法放入注释中,我仍然建议使用nginx的proxy\u缓存,以避免在下面进行编码):
这里有一个使用memcached的快速解决方案(太长了,无法放入注释中,我仍然建议使用nginx的proxy_缓存,以避免在下面编写代码):
这里有一个使用memcached的快速解决方案(太长了,无法放入注释中,我仍然建议使用nginx的proxy_缓存,以避免在下面编写代码):
这里有一个使用memcached的快速解决方案(太长了,无法放入注释中,我仍然建议使用nginx的proxy_缓存,以避免在下面编写代码):
谢谢我正在使用
express.static
处理图像、css等,但我确实希望在一些页面上使用特殊的路由。只是为了更彻底,因为express 4.8:不推荐res.sendfile--改用res.sendfile
谢谢!我正在使用express.static
处理图像、css等,但我确实希望在一些页面上使用特殊的路由。只是为了更彻底,因为express 4.8:不推荐res.sendfile--改用res.sendfile
谢谢!我正在使用express.static
处理图像、css等,但我确实希望在一些页面上使用特殊的路由。只是为了更彻底,因为express 4.8:不推荐res.sendfile--改用res.sendfile
谢谢!我正在使用express.static
来处理图像、css等,但我确实希望为一些页面提供特殊的路由。为了更彻底,因为express 4.8:不推荐res.sendfile——使用res.sendfile来服务静态页面,我会在node.js前面使用nginx。没有“最佳方式”,使用适合您的风格或需要的任何东西。为了提供静态页面,我会在node.js前面使用nginx。没有“最佳方式”,使用适合您的风格或需要的任何东西。为了提供静态页面,我会在node.js前面使用nginx。没有“最佳方式”,使用适合您的风格或需要的任何东西。为了提供静态页面,我会在node.js前面使用nginx。没有“最佳方式”,使用任何适合你风格或需要的方式。
var Memcached = require('memcached'); // sudo apt-get install memcached
// npm install memcached
var memcached = new Memcached('localhost:11211'); // default
var ttl = 86400; // 24hrs time to live
function readContent(callback) { // async read with callback
fs.readFile("./someIndex.html", function (err, content) {
(err) ? callback(err) : callback(null, content);
})
}
app.get('/someRoutes', function (req, res) {
memcached.get('foo', function( err, content){ // get 'foo' from memcached
if( err ) console.error( err ); // .get() error handling
if( content ) { // data in memcached
// render content and output
} else { // data not in memcached
readContent(function (err, myFile) { // try reading file
if (myFile) { // file found, save to memcached & render
memcached.set('foo', myFile, ttl, function( err, data ){
if( err ) console.error( err ); // .set() error handling
});
// render myFile and output
}
}); // end readContent()
} // end if-content-else-
}); // end memcached.get()
}); // end app.get