Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 路由到静态HTML页面,以及Express中模板化的动态路由_Javascript_Node.js_Express_Static - Fatal编程技术网

Javascript 路由到静态HTML页面,以及Express中模板化的动态路由

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

我已经使用Express创建了一个基本的web应用程序,并提供了一个动态路径,例如:

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