[英]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 是一個可愛的小工具,它將為您解決兩個問題:
如果應用程序崩潰,它將通過重新啟動應用程序來保持您的站點正常運行。 這些崩潰不應該發生,但很高興知道 PM2 支持您。 (有些人可能知道 Forever.js,這是另一種用於保持基於節點的站點運行的工具 - 我想您會發現 PM2 可以提供很多功能。)
每次重新啟動服務器時,它都會通過將節點應用程序作為服務重新啟動來幫助您。 一些用戶知道其他方法可以做到這一點,但 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.