Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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
Express&;中的应用程序集(';视图';、u目录名+;';/views';);node.js_Node.js_Express - Fatal编程技术网

Express&;中的应用程序集(';视图';、u目录名+;';/views';);node.js

Express&;中的应用程序集(';视图';、u目录名+;';/views';);node.js,node.js,express,Node.js,Express,我对app.set()方法感到困惑。 据我所知,app.set()是这样的 app.get('title'); // => undefined app.set('title', 'My Site'); app.get('title'); // => "My Site" 但在教程中,创建“视图”文件夹并像这样使用 app.set('views', __dirname + '/views') app.get('/') or app.get('/admin') 难道不是这样吗 app

我对app.set()方法感到困惑。 据我所知,app.set()是这样的

app.get('title');
// => undefined

app.set('title', 'My Site');
app.get('title');
// => "My Site"
但在教程中,创建“视图”文件夹并像这样使用

app.set('views', __dirname + '/views')
app.get('/') or app.get('/admin')
难道不是这样吗

app.get(views)

视图
是一个配置变量,用于设置express将从中获取模板的文件夹
app.get('/admin')
也不同于
app.get('variable')
。第一个是GET路由,它将侦听HTTP服务器,第二个只是express的环境变量

  • express.js中的
    app.get()
    app.set()
    方法不是我们在OOP中使用的方法。当我们在类似java的OOP中使用
    app.get('key')
    app.set('key','value')
    时,我们只想设置/获取对象的一个成员
  • 但是,在express.js中,
    app.set()
    用于设置一个应用程序设置。请参阅:。此处使用的
    app.get()
    app.post()
    方法引用node.js服务器接收的路由和请求。例如:
    app.get()
  • 将设置名称指定给值,其中名称是

    视图

    类型:字符串或数组

    应用程序视图的目录或目录数组。如果是数组,将按照视图在数组中出现的顺序查找视图

    app.set('views', path.join(__dirname, 'views')); 
    
    这会将您的应用程序视图文件夹设置为类似以下内容:

    /用户/adil/Project/myApp/views

    实际使用视图时,
    视图
    名称将成为文件路径,
    减去根目录
    和文件扩展名。例如,如果您具有以下文件结构:

    /views/
    /views/index.hbs
    /views/news/
    /views/news/index.hbs
    /views/news/article1.hbs
    /views/news/article2.hbs
    
    您将按如下方式呈现视图:

    res.render('index', {});  
    res.render('news/index', {});  
    res.render('news/article1', {});  
    res.render('news/article2', {});
    

    我最近放弃了在服务器文件中使用“path”。我觉得没必要。对这个@adii有什么想法吗?示例:*app.set(“视图”(uu dirname+“/views”);*app.use(express.static(uu dirname+/public));
    res.render('index', {});  
    res.render('news/index', {});  
    res.render('news/article1', {});  
    res.render('news/article2', {});