Javascript express单独提供js文件

Javascript express单独提供js文件,javascript,node.js,express,Javascript,Node.js,Express,使用express.static中间件服务时,我的webapp加载速度太慢 我所有的js文件,所以我想尝试只在需要时提供每个js文件(当从使用js文件的jade提供html时)。我尝试过使用.sendFile(),但它似乎不起作用,尽管我不知道这是因为它不能用于我的目的,还是因为我不知道如何使用它 有没有一种方法可以动态地提供js文件,以便在必要时不需要加载时间,或者我应该一开始就接受它,最小化js,然后静态地提供所有js文件?我认为最简单的解决方案是使用 脚本标记中的异步属性 一个脚本,一旦

使用express.static中间件服务时,我的webapp加载速度太慢 我所有的js文件,所以我想尝试只在需要时提供每个js文件(当从使用js文件的jade提供html时)。我尝试过使用
.sendFile()
,但它似乎不起作用,尽管我不知道这是因为它不能用于我的目的,还是因为我不知道如何使用它


有没有一种方法可以动态地提供js文件,以便在必要时不需要加载时间,或者我应该一开始就接受它,最小化js,然后静态地提供所有js文件?

我认为最简单的解决方案是使用 脚本标记中的异步属性

一个脚本,一旦可用就会异步运行:
或者使用defer属性

加载页面后才会运行的脚本:

如果在服务器中使用,请为serve静态文件设置nginx:D

好的,这可能会引起我的严重误解以及问题的解决方案,我是否需要。在服务器上指定某些(或所有)js文件将被服务(通过静态中间件或其他方式)或者将根据脚本标记的src属性自动从服务器加载cross?您可以使用静态中间件。浏览器不会等待js下载。并继续解析该站点。。只需将defer/async放在文件的script标记中。你只需要改变客户端,他们的问题是什么?如果有帮助的话,别忘了给回答者投票!我还没有足够高的声望去投票,但我想我已经找到了问题和解决办法。我误解了express.static的工作原理,我认为它在第一次访问站点时将所有静态文件发送给用户,这就是导致加载时间过长的原因,但我认为现在它只是让这些文件可以从应用程序中引用(通过src属性)更多的javascript文件不会使我的应用程序加载变慢。首先,我应该在发布问题之前做更多的测试,但是你的回答很有帮助,所以谢谢!以V结束问题(如果可以的话),这样问题就不会出现在未回答的问题上。。。谢谢。我们需要看看你的代码。如果操作正确,静态文件服务应该非常快。
 A script that will be run asynchronously as soon as it is available:
<script src="demo_async.js" async></script>
A script that will not run until after the page has loaded:
<script src="demo_defer.js" defer></script>