javascript - Javascript 中的模块化

标签 javascript

我知道,如果浏览器要渲染多个 JS 文件,而这些文件显然内部有标识符,那么全局范围就会被这个标识符污染。我也知道避免这种情况的一种方法是使用模块(在我的理解中)只是具有上述标识符作为成员的对象,因此有点模仿 C++ namespace 。我也在学习 Node.js 并且有一个内置的模块系统可以简化这项任务所以我的问题是:如何在发送到浏览器进行渲染的 js 文件中使用模块?

谢谢。

最佳答案

类似 browserify 的工具和 WebPack正是您正在寻找的(我个人更喜欢 browserify 而不是 WebPack)。看看this answer ,它解释了您的很多顾虑。

Node.JS ,您可以使用 module.exports 导出模块关键字,但您不能仅通过在 <script> 中要求它们来在浏览器中导入这些模块标签。那是因为,浏览器不理解模块系统,一切都在全局 window 的上下文中工作。对象在那里,所以module.exports简单地变成window.module.exports我相信你不会想要的。因此,您可以使用 browserify 等工具将 Node.JS 脚本处理成您的浏览器可以理解的内容。

关于javascript - Javascript 中的模块化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51113279/

相关文章:

javascript - 在 CSS 中为类和 ID 应用范围

javascript - 在javascript中返回没有变异的对象

javascript - 数据表警告 : table id=table_especie - Requested unknown parameter '0' for row 0, 第 0 列

javascript - 使用 ethers.utils.FormatTypes.full 返回对象而不是字符串

javascript - 添加内容时 Bootstrap 弹出框错位

javascript - Firebase 如何更新多个 child ?

javascript - 用户使用 JavaScript 输入 X 个字符后更改输入子字符串颜色

javascript - 支持 .MIDI 文件的在线音乐播放器

javascript - 检测客户端是否允许 HTML5 视频的内​​联媒体播放

javascript - Foundation Top Bar/Menu Vertical Dropdown 在平板电脑上不可点击