簡體   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