使用 Node 提供 Vue 应用程序时,构建会导致空 HTML 页面出现语法错误

2024-01-09

我使用 CLI 创建了一个 VueJs 页面。我想在没有安装 Vue CLI 或 Node 的情况下向其他人展示它。就像您通常在浏览器中打开 .html 文件一样,我想在构建后打开 index.html 文件。

当我打开该文件时,我在控制台中看到一个空白页面,其中包含 404 错误消息。我拿了这些文档

https://cli.vuejs.org/guide/deployment.html#general-guidelines https://cli.vuejs.org/guide/deployment.html#general-guidelines

https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations

并添加了mode: "history",到我的路由器对象。使用 Vue CLI 构建项目后,我设置了一个简单的 Node 服务器

const http = require('http');
const server = http.createServer();
const fs = require('fs');
const port = 3000;

server.on('request', async (req, res) => {
  const htmlContent = fs.readFileSync('./index.html', 'utf-8');

  res.writeHead(200, {
    'Content-Type': 'text/html; charset=utf-8'
  });

  res.end(htmlContent);
});

server.listen(port, err => {
  console.log(`server is listening on ${port}`)
})

运行服务器时我调用http://localhost:3000/并得到一个有两个错误的空白页面

我缺少什么?


由于 Vue 只是一个前端库,因此托管它并执行诸如提供资产之类的操作的最简单方法是创建一个简单的 Express 友好脚本,您可以使用它来启动迷你 Web 服务器。快速阅读Express https://expressjs.com/如果你还没有。之后,添加快递:

npm install express --save

现在添加一个server.js文件到项目的根目录:

// server.js
var express = require('express');
var path = require('path');
var serveStatic = require('serve-static');
app = express();
app.use(serveStatic(__dirname + "/dist"));
var port = process.env.PORT || 5000;
var hostname = '127.0.0.1';

app.listen(port, hostname, () => {
   console.log(`Server running at http://${hostname}:${port}/`);
 });

之后你可以运行:

 node server

您的项目将在给定的主机和端口上提供服务

假设您已经拥有dist目录,如果你没有运行它:

npm run build

为了生成它

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Node 提供 Vue 应用程序时,构建会导致空 HTML 页面出现语法错误 的相关文章

随机推荐

  • 当`BundleTable.EnableOptimizations = true`时是否使用版本文件的.min?

    是否指定BundleTable EnableOptimizations true缩小所有CSS and JS文件在一个包中 或者是可用的min使用的文件版本 一个与另一个无关 BundleTable EnableOptimizations存
  • 内容控件未更新

    我正在尝试将 MainWindow 绑定到视图 我在代码中更改了该视图并期望它在主窗口中更新 但这并没有发生 我的 XAML 中有这段代码
  • SASS:不是选择器

    我有一个 notSASS mixin 中的 css 选择器 但它不执行任何操作 代码片段 mixin dropdown pos pos right not notip if comp tip true if pos right top dr
  • 多个线程从同一个套接字读取

    我正在开发一个显示来自服务器的数据的应用程序 服务器不是我的 不太稳定 建立太多连接会导致服务器崩溃 我的主要活动中有一个连接到服务器的套接字 但有时我想打开读取数据并显示数据的子活动 我的问题是 我无法使用相同的套接字来实现此目的 并且必
  • PHP gdLib 8 位 PNG 与 alpha

    如何将使用 gd 创建的图像保存为 png 8 它可以很好地保存为具有透明通道的 gif 但我想使用 png 8 此致 啤酒威斯勒 Using imagesavealpha 透明的背景颜色应该可以解决问题 基于 dfilkovi 的代码
  • 完成时的 SwiftUI EditButton 操作

    如何设置当用户点击时要执行的操作EditButton当它显示为 完成 时 甚至可以这样做吗 请注意 这与在用户可能执行的每个单独编辑中执行操作不同 例如onDelete or onMove 当用户完成所有更改并准备好提交它们时 如何设置要执
  • scikit-learn RidgeCV 评分选项不起作用

    我注意到cv values 来自 RidgeCV 的数据始终采用相同的度量 无论scoring选项 这是一个例子 from sklearn linear model import RidgeCV from sklearn datasets
  • Android Studio - GoogleAuthUtil 无法解析

    我正在使用 Android Studio 我需要使用 Google 帐户 但收到错误消息 Cannot resolve symbol GoogleAuthUtil 我已经导入了四个主要的导入内容 import com google andr
  • BackgroundWorker的IsBusy和“IsAlive”一样吗?

    我试图找到一种方法来验证BackgroundWorker线程是否处于活动状态 即仍在运行 该线程本质上是作为一个简单的无限循环实现的 while AllConditionsMet DoSomeMagic Thread Sleep 10000
  • 为什么 .NET 4 中的 BeforeFieldInit 行为发生变化?

    在 C 4 中 没有类型的行为beforefieldinit标志已更改 因此现在可以在首次使用类的任何静态字段之前调用类型初始值设定项 我的问题是为什么 C NET 团队改变了这种行为 主要原因是什么 您能举出任何实际例子来证明这种变化有意
  • 使用尺寸类别以编程方式实现两种不同的布局

    我有一个四个按钮的布局 在肖像中 它们应该一个在另一个之上 在横向中 它们应该分为两列 每列有两个按钮 我在代码中实现了按钮 非常简单的东西 UIButton btn1 UIButton alloc init self view addSu
  • 访问 Google Translate v2 API 时出现错误 403

    我正在尝试从 Android 应用程序中访问 Google 的翻译服务 但是 每次我尝试访问该服务 使用HttpGet请求 我遇到以下错误 error errors domain usageLimits reason accessNotCo
  • 如何在 Ansible 中去掉变量的引号?

    我正在尝试将文件中变量的值获取到 Ansible 变量中 以便我可以使用它 这是我所得到的 name extract Unique Key shell grep UNIQUE KEY config py cut d f 3 register
  • Android 获取所有已安装应用程序的列表

    我使用此代码获得了已安装应用程序的列表 public List
  • Laravel 6 显示 419 |页面已过期[重复]

    这个问题在这里已经有答案了 在本地服务器中 以下 laravel 项目工作正常 但是当项目上传到在线服务器上时 它显示了问题 当尝试登录时 它显示 419 419页面已过期 当我上传到在线服务时 我已经清除了路由 视图 缓存和配置 您的错误
  • 在参数中使用通配符

    在snakemake中使用config yaml文件定义参数时是否可以使用通配符 我使用通用 R 脚本来制作相同的基本热图 但使用不同的输入矩阵 我想使用通配符为 config yaml 文件中的每个热图指定热图的配置 例如 K 均值聚类的
  • 为什么自定义 DialogPreference 不会在 onSharedPreferenceChanged 侦听器上触发?

    我正在尝试在首选项中设置对话框首选项 用户只需单击肯定按钮即可触发某些操作 清除数据库 否 是 public class MyDialogPreference extends DialogPreference public MyDialog
  • 错误 D8016:“/ZI”和“/clr”命令行选项不兼容

    我的程序中出现以下错误 error D8016 ZI and clr command line options are incompatible 当我添加以下几行并在配置 gt 常规中启用公共运行时时会发生这种情况 如果我不启用它 则在使用
  • 错误:用户 ''@'localhost' 的访问被拒绝(使用密码:NO)

    我正在尝试使用 MySQL 和 Knex 进行数据库迁移 当我运行命令时knex migrate latest I get ER ACCESS DENIED ERROR Access denied for user localhost us
  • 使用 Node 提供 Vue 应用程序时,构建会导致空 HTML 页面出现语法错误

    我使用 CLI 创建了一个 VueJs 页面 我想在没有安装 Vue CLI 或 Node 的情况下向其他人展示它 就像您通常在浏览器中打开 html 文件一样 我想在构建后打开 index html 文件 当我打开该文件时 我在控制台中看