如何在 localhost:8080 上杀死 VueJS 应用程序 运行 (MacOS)

How to kill VueJS application running on localhost:8080 (MacOS)

我的环境:MacOS Mojave

我使用

从他们的模板创建了一个 VueJS 应用程序
vue init pwa frontend
? Project name frontend
? Project short name: fewer than 12 characters to not be truncated on homescreens (default: same as name)
? Project description A Vue.js project
? Author me@myemail.com
? Vue build runtime
? Install vue-router? Yes
? Use ESLint to lint your code? No
? Setup unit tests with Karma + Mocha? No
? Setup e2e tests with Nightwatch? No

yarn
yarn dev

效果很好。 localhost:8080 上的页面 运行 并在 ctrl-c 时关闭。

然后我为生产构建了它

yarn build

我写了一个快速的 JS 服务器来启动 dist/ 文件夹中的内容,看看构建后的样子。

const ora = require('ora')
const chalk = require('chalk');
const express = require('express');
const port = process.env.PORT || 8080;
const app = express();
const spinner = ora(chalk.yellow("Your application is starting..."));
spinner.start();

var delay = ( function() {
    var timer = 0;
    return function(callback, ms) {
        clearTimeout (timer);
        timer = setTimeout(callback, ms);
    };
})();

app.use(express.static(__dirname + "/dist/"));
app.get(/.*/, function(req, res) {
    res.sendFile(__dirname + "/dist/index.html");
});

app.listen(port);

delay(function() {
    app.use(express.static(__dirname + "/dist/"));
    app.get(/.*/, function(req, res) {
        res.sendFile(__dirname + "/dist/index.html");
    });
}, 3000);

spinner.stop();
console.log(chalk.cyan("Your application is running here: ") + ("http://localhost:8080"));

我运行服务器node server.js

然而,当我按 ctrl-c 时,它会终止脚本,但应用程序仍在 运行ning localhost:8080

我已经尝试了 sudo lsof -i tcp:8080netstat -vanp tcp | grep 8080,但它们都没有返回任何结果。这给我留下了以下问题:如何阻止它侦听端口 8080?

如果有人想知道,我发现了问题所在。我不得不去 chrome://serviceworker-internalschrome://appcache-internals。我搜索了 localhost:8080 并杀死了那些服务人员。

我希望这对下一个发生这种情况的人有所帮助!