在html中,单纯html中,require能使用吗?

在html中,单纯html中,没有构建工具什么的,require能使用吗?如何使用?

阅读 9.8k
8 个回答

require是node.js实现的模块加载器语法,默认html是不支持的,当然你可以自己实现一个require函数,类似有requirejs这样的库。

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。

不行,浏览器环境没办法做到

html 现在支持原生 import 了,不过需要加上type="module"

<script type="module">
import XX from './a.js'
</script>

html中没有定义require不能使用,使用require就是为了引入npm包把?那么问题就在于html中能不能引入npm包?
之前有requirejs,seajs规范都是支持引入npm包,或者使用parcel进行编译,html中引入的js直接可以支持import
如果不想加外部依赖那么就可以自己写一个require,require并不难,就是动态创建script,然后在onload中回调
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。

require 算是一个第三方实现的模块框架提供的内容。CommonJS 仅 Node 支持,浏览器不支持。现代浏览器基本上都支持 ESM,也就是 import/export 形式的包管理(参阅这里

在 ESM 出来之前,也有一些其他的模块化工具比如支持 AMD 的 RequireJS 和支持 CMD 的 SeaJS,此外还出现过 SystemJS,甚至我自己都写过一个叫 jNs 的,不过现在都没咋用了。

现在常见的方法就两种

  • 通过前端构建,将新语法的 JS 转译成可以在 ES5 环境下跑的代码
  • 直接使用 <script type="module"> 来支持 ESM

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。

单纯的HTML不能直接使用require,借助require.js可以实现。或者通过import来实现,但是需要在script中加入 type="module"。

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题