我正在尝试创建一个系统,在这个系统中,我更改了一个文件上的变量,但它在另一个文件中显示,而不刷新。这可能吗?
文件1(javascript(:
testVar = "hi"
文件2(html(:
<head>
<script type="text/javascript" src="file1.js"></script>
</head>
<body>
<button onclick="test()">click</button>
<script>
function test(){
alert(testVar);
}
</script>
</body>
我希望能够在文件1中将"hi"更改为"bye",并让文件2在不需要刷新的情况下提醒新消息(bye(。
这是可能的,但需要付出巨大的努力。"热模块替换"是你的谷歌关键词,因为这样做通常是为了通过自动重新加载页面或部分页面来简化单页JS应用程序的开发。
您需要在机器上运行一个进程,以监视本地文件系统对源代码文件的更改。然后,网页需要包括一个脚本,该脚本(通过与本地运行的web服务器交谈(持续检查所述源代码文件是否已更改。如果已经更改,则必须将脚本标记插入到加载更新的源文件的DOM中。可能还有更多的细节,但这就是要点
顺便说一句,在不使用var
、let
或const
关键字的情况下分配变量不是一种好的做法。