【问题标题】:Web Project Structure - Can I nest server file in HTML file?Web 项目结构 - 我可以在 HTML 文件中嵌套服务器文件吗?
【发布时间】:2020-10-23 10:02:21
【问题描述】:

我对 Web 开发还很陌生,但我参加了几门动手入门课程,其中网站的基本结构是你有一个 HTML 文件(或几个 ejs 模板文件)、一个 CSS 文件和然后你有一个叫做“服务器”的文件,它是一个 JavaScript 文件,通常称为app.js

我知道,如果我愿意,我可以将我的所有 CSS 包含在 HTML 文件中的 <style> 标记中。我的问题是,如果我需要这样做,我是否可以将服务器代码包含在单个 HTML 文件中的 <script> 标记中?

争论我是否应该努力尝试这样做,但如果它通常有问题(注意:我不关心“最佳实践”),例如它会阻止您与某些包/模块,如 EJS 或 Node.js,那么我可能会得出结论,尝试没有意义。作为一名新手 Web 开发人员,我担心我不知道如果有的话我可能会遇到某些限制(除了缺乏模块支持)。

【问题讨论】:

  • @devlincarnate — 查看expressjs.com 了解最常见的服务器端 JS 用法。

标签: javascript html web-development-server


【解决方案1】:

不,您不能将服务器端代码放在 HTML 或发送到客户端的 JS 文件中。服务器端代码是在您托管的服务器上运行的代码,而客户端代码是在访问您网页的人的计算机上运行的代码。

您可以将客户端代码放在HTML <script> tags. 中,也可以将客户端代码包含在单独的 JS 文件中。但缺点是巨大的,例如:

  1. 代码荧光笔将无法突出显示您的代码并轻松指出语法错误等内容。
  2. 您将无法使用 Babel 和 TypeScript 等输入和输出 JS 文件的工具。
  3. 如果没有像 Webpack 这样的打包器,你就不能使用 NPM 模块,它本身会输出 JS 文件。

总的来说,使用<script> 标记并不是一个很好的理由。为您的 JS 创建另一个文件需要 2 秒额外的时间,而且它更有条理、更模块化并且更易于与外部工具一起使用。

【讨论】:

    【解决方案2】:

    我是否可以将服务器代码包含在单个 HTML 文件中的 <script> 标记中?

    没有。

    在网页中执行脚本的网络浏览器不为 JavaScript 程序提供运行服务器所需的 API。

    如果您想用 JavaScript 编写 Web 服务器,那么您需要使用 Node.js 之类的工具而不是 Web 浏览器来运行它。

    【讨论】:

      猜你喜欢
      • 2012-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-17
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      相关资源
      最近更新 更多