繁体   English   中英

npm live-server 不会自动重新加载

[英]npm live-server not auto-reloading

我尝试在实时服务器上工作,使用以下命令安装了一个名为live-server的节点包: npm install -g live-server

它运行良好,安装成功并通过live-server命令运行live-server

每当我更改代码并保存在代码编辑器中时,浏览器都不会自动刷新。

这是我的package.json文件:

"name": "nodejs",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Abul Khoyer",
  "license": "ISC"
}

我遇到了和你一样的问题,并通过确保 .html 文件的格式正确来设法让它工作。 即像这样:

<!DOCTYPE html>
<html>
<body>
    <h1>Script tester!</h1>
    <script type="text/javascript" src="script.js"></script>
</body>
</html>

您需要添加此代码:for

来自节点的使用

例子:

var liveServer = require("live-server");

var params = {
    port: 8181, // Set the server port. Defaults to 8080.
    host: "0.0.0.0", // Set the address to bind to. Defaults to 0.0.0.0 or process.env.IP.
    root: "/public", // Set root directory that's being served. Defaults to cwd.
    open: false, // When false, it won't load your browser by default.
    ignore: 'scss,my/templates', // comma-separated string for paths to ignore
    file: "index.html", // When set, serve this file for every 404 (useful for single-page applications)
    wait: 1000, // Waits for all changes, before reloading. Defaults to 0 sec.
    mount: [['/components', './node_modules']], // Mount a directory to a route.
    logLevel: 2, // 0 = errors only, 1 = some, 2 = lots
    middleware: [function(req, res, next) { next(); }] // Takes an array of Connect-compatible middleware that are injected into the server middleware stack
};
liveServer.start(params);

或者你可以添加一个文件.live-server.json

如果存在,它将被加载并用作命令行上 live-server 的默认选项。

更多详情请参见: https : //www.npmjs.com/package/live-server

使用 NPM 安装一个名为 PM2 的包。

NPM 是一个包管理器,您将使用它来安装与 Node.js 应用程序一起使用的框架和库。 NPM 与 Node.js 一起安装。 PM2 是一个可爱的小工具,它将为您解决两个问题:

  1. 如果应用程序崩溃,它将通过重新启动应用程序来保持您的站点正常运行。 这些崩溃不应该发生,但很高兴知道 PM2 支持您。 (有些人可能知道 Forever.js,这是另一种用于保持基于节点的站点运行的工具 - 我想您会发现 PM2 可以提供很多功能。)

  2. 每次重新启动服务器时,它都会通过将节点应用程序作为服务重新启动来帮助您。 一些用户知道其他方法可以做到这一点,但 pm2 使它更容易,并且它具有一些额外的灵活性。

通过在命令行输入以下 thr 来安装 PM2:

sudo npm install pm2 -g

您可以按照此行设置 Nodejs 生产环境: https ://www.digitalocean.com/community/tutorials/how-to-use-pm2-to-setup-a-node-js-production-environment-on-an -ubuntu-vps

如果您像我一样在 Windows 10 上工作,则您的目录名称可能太长,如下所示:

C:\\Users\\Del\\Documents\\Web Development Works\\JS 练习[书籍]\\Learning JavaScript\\lj

只需尝试将您的目录移动到桌面,这样它就会更短,如下所示:

C:\\用户\\Del\\桌面\\lj

就我而言,将目录移动到桌面后,实时服务器的自动重新加载正在工作

检查 html 文件中的脚本标签。 不要像这样 < /> 将标签关闭为空元素。 这阻止了我的浏览器自动加载页面。 正确关闭它 <> 。

我和你有同样的问题,我通过检查两个项目解决了这个问题:

首先,检查您的 HTML 文件中的脚本标签!

 <script type="text/javascript" src="script.js"></script>

如果您尝试第一步但它再次不起作用,请在“桌面”中移动(复制/剪切)您的项目文件,关闭浏览器、VScode 工作区(command+K+F)和 VScode(command+Q),然后尝试再次 !

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM