热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

"服务静态文件"究竟是什么意思?

如何解决《"服务静态文件"究竟是什么意思?》经验,为你挑选了2个好方法。

到目前为止,我一直在开发我的客户端应用程序,而不使用我自己的服务器在其后面运行,使用Webstorm的内置Web服务器来提供我的内容.

当人们使用Node with Express作为他们的网络服务器时,我经常看到的是关于你是否应该将你的html文件与节点或客户端代码放在一起的争论.

我理解html或css中包含的Javascript文件最好存储在客户端目录中?

所以我的第一个问题是,像这样的文件夹结构

app/
  client/ js files
  server/ node files

您是否应该在服务器或客户端目录中包含html页面?

其次:

有时我看到人们使用express.static静态文件,这里的静态文件究竟是什么?今天大多数网站不再是静态文档,而是通过操纵DOM来改变Javascript的文件,所以我不认为任何html文件应该被视为静态文件?

据我所知,使用Node而不是内置Web服务器的唯一优势是,如果我想拥有数据库访问权限.



1> Brad..:

今天大多数网站不再是静态文档,而是通过操纵DOM来改变Javascript的文件,所以我不认为任何html文件应该被视为静态文件?

您网页的文件本身仍然是静态的.也就是说,您不是使用服务器端代码动态创建它们.在这种情况下,浏览器中发生的事情无关紧要......我们的想法是您不需要动态生成这些文件,因为它们的内容不会改变.

我理解html或css中包含的Javascript文件最好存储在客户端目录中?

将文件存储在服务器上的位置并不重要.重要的是您通常不希望从Node.js应用程序提供静态文件.类似express.static的工具仅为方便起见.有时,您可能会使用低流量应用程序.在这些情况下,使用Node.js应用程序提供文件是完全可以接受的.对于具有良好流量负载的任何东西,最好将静态服务留给真正的Web服务器,如Nginx,因为这些服务器比Node.js应用程序效率更高.

您应该在Node.js应用程序中保留应用程序代码(提供动态响应的代码,例如API服务器).

将Node.js应用程序放在像Nginx这样的代理之后也是一个好主意,这样代理就可以处理所有客户端交互(例如,喂食慢速客户端),让Node.js应用程序完成它最擅长的工作.但是,在低流量情况下,这并不重要.



2> JDillon522..:

有时我看到人们使用express.static来表示静态文件,这里静态文件究竟隐含了什么?

我相信你指的是这段代码通常会发现一个快递应用程序的app.js文件:

app.use(express.static(path.join(__dirname, 'public')));

express.static()是一个中间件,它将目录名称映射到路径目录以便于查找.通常你会有:

- public
  |_ Javascripts
  |_ stylesheets
  |_ images

如果您的Javascripts目录中有脚本,则无需键入包含它的完整路径.只是:

./Javascripts/script.js

静态文件最好被视为NPM或Bower之类的文件.它们是您自己的脚本,样式表,图像等.它与动态或静态页面无关.

至于你的第一个问题:

如果您使用节点,我个人不确定是否需要这种项目架构.如果您正在为您的客户端应用程序使用节点和Ember.js或Angular之类的东西,那么我个人会将我的实际应用程序脚本放在public/Javascripts/目录中.但那就是我.

在一天结束时,选择一个你喜欢的项目结构,并坚持下去.但是,如果其他人正在从事该项目,请坚持使用共同的惯例.它让生活更轻松.


推荐阅读
  • Nginx 反向代理配置与应用指南
    本文详细介绍了 Nginx 反向代理的配置与应用方法。首先,用户可以从官方下载页面(http://nginx.org/en/download.html)获取最新稳定版 Nginx,推荐使用 1.14.2 版本。下载并解压后,通过双击 `nginx.exe` 文件启动 Nginx 服务。文章进一步探讨了反向代理的基本原理及其在实际应用场景中的配置技巧,包括负载均衡、缓存管理和安全设置等,为用户提供了一套全面的实践指南。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • PHP自学必备:从零开始的准备工作与工具选择 ... [详细]
  • 在Ubuntu 18.04上使用Nginx搭建RTMP流媒体服务器
    本文详细介绍了如何在Ubuntu 18.04上使用Nginx和nginx-rtmp-module模块搭建RTMP流媒体服务器,包括环境搭建、配置文件修改和推流拉流操作。适用于需要搭建流媒体服务器的技术人员。 ... [详细]
  • oracle 对硬件环境要求,Oracle 10G数据库软硬件环境的要求 ... [详细]
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • 本文详细介绍了如何使用Heartbeat构建一个高可用性的Apache集群,包括安装、配置和测试步骤。 ... [详细]
  • 本文总结了近年来在实际项目中使用消息中间件的经验和常见问题,旨在为Java初学者和中级开发者提供实用的参考。文章详细介绍了消息中间件在分布式系统中的作用,以及如何通过消息中间件实现高可用性和可扩展性。 ... [详细]
  • Django与Python及其他Web框架的对比
    本文详细介绍了Django与其他Python Web框架(如Flask和Tornado)的区别,并探讨了Django的基本使用方法及与其他语言(如PHP)的比较。 ... [详细]
  • 对象存储与块存储、文件存储等对比
    看到一篇文档,讲对象存储,好奇,搜索文章,摘抄,学习记录!背景:传统存储在面对海量非结构化数据时,在存储、分享与容灾上面临很大的挑战,主要表现在以下几个方面:传统存储并非为非结 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 在优化Nginx与PHP的高效配置过程中,许多教程提供的配置方法存在诸多问题或不良实践。本文将深入探讨这些常见错误,并详细介绍如何正确配置Nginx和PHP,以实现更高的性能和稳定性。我们将从Nginx配置文件的基本指令入手,逐步解析每个关键参数的最优设置,帮助读者理解其背后的原理和实际应用效果。 ... [详细]
  • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
    在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
author-avatar
俊惠芸菁亚扬
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有