【发布时间】:2018-12-30 02:28:22
【问题描述】:
这可能真的是菜鸟。我想知道是否有一种方法可以配置 nodemon 以在每次更改 js 文件时刷新同一个选项卡而不是打开一个新选项卡。
【问题讨论】:
这可能真的是菜鸟。我想知道是否有一种方法可以配置 nodemon 以在每次更改 js 文件时刷新同一个选项卡而不是打开一个新选项卡。
【问题讨论】:
nodemon 无法做到这一点。您要查找的内容类似于 browser-sync 或 LiveReload.js。
【讨论】:
我使用了一个名为 reload 的包。假设您在 FE 上执行此操作并且您已经安装了 express.js 和 nodemon 先安装重载
npm install --save-dev reload
创建一个 index.js 文件或 server.js 或任何您想要的名称
这是我的 index.js:
const express = require('express')
const http = require('http')
const reload = require('reload')
const opn = require('opn')
const app = express()
app.engine('html', require('ejs').renderFile)
app.set('view engine', 'html')
app.set('src', './src')
app.use(express.static('src'))
app.get('/', (req, res) => res.render('index'))
const server = http.createServer(app)
server.listen(8080, function() {
console.log('Listening to port 8080...')
})
opn('http://localhost:8080')
reload(app)
可以用opn包安装
npm install opn
当你在终端输入 npm start 后,它会自动打开你的本地主机
在 HTML 上,您必须在结束 body 标记之后插入类似这样的内容:
</body>
<script src="/reload/reload.js"></script>
在 package.json 上如下:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon index.js -e els,js,html,css,json"
},
这样做的唯一问题是,每次您对这些文件进行更改时,它都会重新打开浏览器,并将当前打开的文件重新加载到 opn 包中。最终,我仍将创建一个函数来防止这种情况发生。希望对您有所帮助!
【讨论】:
很简单。
要运行您的服务器,请使用
npm start
代替
nodemon server
【讨论】: