【问题标题】:What is the es6 equivalent of node_modules?node_modules 的 es6 等价物是什么?
【发布时间】:2017-11-05 13:57:28
【问题描述】:

我习惯了require,但我正在使用 es6 模块。我决定改变我的目录结构,这意味着我必须去改变所有的导入语句(import thing from "../thing" 变成了import thing from "../../thing" 等等)。

我不得不经历并改变很多。使用 node_modules,这绝不是问题。

您是否总是必须在 es6 模块中指定路径,或者是否有某种系统/操作顺序来查找模块?

【问题讨论】:

    标签: es6-modules es6-module-loader


    【解决方案1】:

    在 ES6 中没有直接等同于 node_modules,这意味着不能从预定义的目录中按名称导入任何模块。不存在这样的目录,所以模块必须通过路径导入。

    ES6 模块的做法是将它们放在一个平面(ish)目录结构中,就像您创建的带有所有 ../thing 更改的目录结构一样。

    顺便说一句,打包程序虚拟化了这个过程,这就是为什么你可能不习惯看到import '../thing'

    如果您希望同时支持 ES6 和 Node.js 样式的模块,以及平面和 node_modules 目录结构,请查看此 example 和它的介绍性 article

    【讨论】:

      猜你喜欢
      • 2020-07-19
      • 1970-01-01
      • 1970-01-01
      • 2017-03-19
      • 2014-05-08
      • 2014-06-12
      • 1970-01-01
      • 2022-11-28
      • 2016-06-30
      相关资源
      最近更新 更多