0

一般来说,对于编程来说相对较新,我通常用 JS 编写的代码并不是很复杂。直到现在,我从来没有觉得有必要将它分割成更容易管理的小块。
我总是使用单个文件和单个对象的方法

const mymodule = {
    feature: function(){...},
    submodule: {
        property: 5,
        ...
    }
}

然后我会简单地将它加载到 html 中。为了调试,我使用了浏览器控制台。
但最近我安装了 nodeJS 并了解了模块系统,我认为这正是我当前项目所需要的。到目前为止,我使用上面显示的技术对其进行了编码,但现在很难管理。滚动浏览一个巨大的凌乱的 js 文件非常令人沮丧。我也意识到也许我也想在节点中使用这个项目,所以模块真的会帮助我想。

MDN Docs上我了解到模块也可以在浏览器中使用,这让我非常高兴,直到我意识到在浏览器中它们不能在本地运行,而只能通过 http(s) - 服务(意味着我不能使用我的最喜欢的用于调试的 chrome 控制台)。但是如果模块系统与nodeJS中的相同,那么我仍然可以使用node在本地运行和测试项目!

但是,我不知道如何使用模块,以便它们可以在浏览器和节点中使用。例如要求、导入和导出 ( exportx exports = x module.exports = ) 的令人困惑的方式。
我知道一些与我类似的旧问题,但它们已经很老了。由于模块现在实际上是 web 标准的一部分,我真的希望有一种简单的方法可以做到这一点,而不需要任何外部工具。

如果您能指出我正确的方向或展示编写可以在两种环境中运行的模块的示例,那就太好了。

4

1 回答 1

0

在这种情况下,您可以使用 Web 捆绑器。像 snowpack 这样的东西将允许您使用通过运行本地安装的 nodejs 模块snowpack dev。它将为您提供本地 Web 服务器并自动打开您的页面的浏览器窗口,这也允许您使用 MDN 示例。

于 2021-09-28T15:28:06.547 回答