当前位置: 首页 > 面试题库 >

如何在浏览器中要求CommonJS模块?

慕承恩
2023-03-14
问题内容

在浏览器中将CommonJS模块作为客户端javascript加载的最佳方法是什么?

CommonJS模块将其功能放在module.exports命名空间中,通常包含require(pathToModule)在服务器端脚本中。在客户端上加载它们的方式不同(需要替换需求,需要考虑异步性等)

我发现了模块加载器和其他解决方案:Browserify,RequireJS,yabble等,或者简单地更改模块的方法。您认为最佳方法是什么?为什么?


问题答案:

过去,我已经广泛使用了requirejs(2010年在BBC
iPlayer
上实现),并且效果很好。它可以处理CommonJS模块,但是需要一个额外的包装器,我觉得很烦。如果还要在node.js中使用这些模块,则还需要在服务器端使用requirejs,我不喜欢这样做,因为它不是惯用的node.js
JavaScript。

我已经使用webmake和browserify在过去一年中的几个项目。最初,编译步骤使我望而却步,但是今年已经广泛使用了它,我可以说这不是问题。

Browserify包含监视功能,效果很好。Webmake可以连接到观察者(例如watchr),或者您可以使用webmake-
middleware
模块,该模块可以用作express或connect应用程序的一部分。这样做的好处是,仅在您实际请求时才编译JavaScript,而不是在每次保存时都编译JavaScript。
Connect使创建服务器(也是静态的)变得很简单,因此,如果要开发不带后端的前端,则可以创建一个小型的静态node.js服务器来提供文件。

优点:无需构建脚本,因为您始终可以处理已构建的代码。



 类似资料:
  • 我第一次使用JSON Web令牌(JWT)。我正在制作一个节点。js应用程序。我想使用JWT进行身份验证。根据文档,我将JSON令牌返回到前端。 但是我不知道如何将这个JSON令牌保存到我的浏览器头中,这样它就不会丢失,并随头一起再次发送到后端。如何将它保存在我的浏览器存储中,并在每次向后端发送请求时将其添加到请求头中?

  • 浏览器模型概述 window 对象 Navigator 对象,Screen 对象 Cookie XMLHttpRequest 对象 同源限制 CORS 通信 Storage 接口 History 对象 Location 对象,URL 对象,URLSearchParams 对象 ArrayBuffer 对象,Blob 对象 File 对象,FileList 对象,FileReader 对象 表单,F

  • 我正在尝试使用ES6模块在浏览器中导出和导入对象。 我试过了 但是我得到了错误。 然后我尝试转换它,但现在我收到错误。 在浏览器中不能使用模块吗?

  • 在我的php文件中,我有以下内容来创建一个带有FPDF库的PDF: 但是请求是响应这个,而不是打开一个保存对话框来保存我的PDF。 %PDF-1.3 3 0 obj<>endobj 4 0 obj<>stream x 3 R@2π35 W(çR qπw 3 t04多30 pispéz*[(hx·ääää+çó)·(j*dé7 w endstream endobj 1 0 obj /xobject<

  • 问题内容: 是否可以将selenium连接到我通常使用的浏览器而不是驱动程序?对于正常浏览,我使用带有多个插件的chrome-添加block plus,flashblock等。我想尝试使用此特定配置加载网站。我怎样才能做到这一点? 我不在乎是否使用驱动程序生成进程。我只想要完整的浏览器配置-Cookie,插件,字体等。 谢谢 问题答案: 首先,您需要下载,然后将环境变量的可执行路径放置到环境变量中

  • 问题内容: 在我的servlet中,我使用下面的代码在浏览器中打开PDF文件,但是,它显示了一个下载对话框。 我做错了什么? 问题答案: 你可以尝试用