此进口申报中的+符号表示什么?
从'+/api'导入应用;
而不只是:
从'/api'导入应用;
导入片段来自使用 es6 的 Node 应用程序,该应用程序使用 Babel 进行了转译。
./api/index.js 使用 export default app;
我也看到过这种语法,使用波浪号:
从'~/api'导入应用程序;
最佳答案
模块标识符 的结构或应该如何解释它是not part of the ECMAScript specification .
模块标识符的含义由模块加载器定义,即系统中实际获取值并使用它来查找相应模块的部分。
当然,Node.js 有一个模块加载器。 defines that module identifiers are either names of shared modules or paths to files 是 Node.js .
然而,这里的+
(或~
)在Node.js中没有任何意义。我只能假设该项目可能正在使用模块 bundler 或类似的东西来处理模块文件及其依赖项。正是系统的那一部分定义了 +
的含义。
我认为这是很多人不理解的一点:虽然 ES6 定义了用于声明依赖项的标准语法,但是模块标识符的解析到实际模块不是规范的一部分,并且在运行时/环境之间可能会有很大差异。考虑到 Node.js 的受欢迎程度,它很可能与 CommonJS module system 兼容。 (这是 Node 使用的),但同样,没有标准。
关于javascript - ES6导入声明+符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44751667/