gpt4 book ai didi

javascript - 删除源文件后 Node.js 应用程序仍然可以运行

转载 作者:行者123 更新时间:2023-12-03 01:37:10 25 4
gpt4 key购买 nike

我有一个 Node.js 应用程序,即使我从计算机中完全删除其源文件,它也可以工作。

这怎么可能?

我听说 Node.js 应用程序会自动缓存源文件以提高工作效率。

这是否意味着这些文件仍然存在于某处?

最佳答案

尽管 JavaScript 是一种解释性语言,但 Node.js 会将源文件编译为 native 机器代码。启动应用程序后,您可以删除 JavaScript 文件,并且它将继续运行,因为代码已经编译。

以下是维基百科关于 Node 的 v8 引擎的摘录,可以帮助您更好地了解正在发生的事情:

V8 compiles JavaScript to native machine code (IA-32, x86-64, ARM, PowerPC, IBM s390 or MIPS ISAs) before executing it, instead of more traditional techniques such as interpreting bytecode or compiling the whole program to machine code and executing it from a filesystem. The compiled code is additionally optimized (and re-optimized) dynamically at runtime, based on heuristics of the code's execution profile. Optimization techniques used include inlining, elision of expensive runtime properties, and inline caching, among many others.

<小时/>

正如 David784 所说:

Might be worth noting that this compiling happens on an as-needed basis. For example, if you have a single require('./other.js') inside of a callback, other.js won't be interpreted/compiled until that callback is called.

因此,一旦删除特定操作,您的应用程序可能会工作,但一旦使用新的依赖项, Node 将无法找到您的应用程序文件,并且将不可避免地崩溃。

关于javascript - 删除源文件后 Node.js 应用程序仍然可以运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51014630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com