javascript - 如何导入已经导入另一个文件的文件?

标签 javascript ecmascript-6 import visual-studio-code

JavaScript、ES6。我有三个文件:

inline-functions.js

\*
    Bunch of small functions.
*/

some-module.js

import './inline-functions.js'

// uses many inline functions

main.js

import './inline-functions.js'
import './some-module.js'

// uses inline functions as well as classes from some-module.js

现在,我使用 Visual Studio Code,并且希望 Intellisense 正常工作,但是当我编辑 main.js 时,它仅显示 inline-functions.js 中的函数,并且即使有 import 语句,“some-module.js”中的所有内容也是无法访问的。但是,当我像这样评论 some-module.js 的导入时:

// import './inline-functions.js'
// tries to use inline functions which are now not callable

Intellisense 突然显示所有对象的正确名称和文档。这当然无法使用,因为 some-module.js 现在无法调用任何内联函数。

导入这些模块的正确方法是什么?

最佳答案

只有从模块中导出才能访问模块功能。

从模块中导出函数,然后您将在主js中看到它。

示例:

一些模块.js

import './inline-functions.js'

const someFuncion1 = () =>  1;
const someFuncion2 = () => 2;

export {
    someFuncion1,
    someFuncion2
}

main.js

import * as inline './inline-functions.js'
import * as some './some-module.js'

//Access it like 

inline.<function name>
some.<function name>

关于javascript - 如何导入已经导入另一个文件的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59780265/

相关文章:

java - 在命令行上编译 netbeans 程序

java - 包括整个项目作为库 android studio

javascript - HTML 中的用户名和密码验证

javascript - javascript中的if语句中的多个条件

javascript - 如何使用地点网址创建谷歌地图标记

javascript - 使用 addEventListener/attachEvent 注册框架的 onload 事件

javascript - 合并 2 个嵌套对象/在 ES6 中有选择地覆盖

unit-testing - 用 Jest 测试 ES6 模块

javascript - 导入 ECMAScript 6 时为 "Uncaught SyntaxError: Cannot use import statement outside a module"

php - mysql一次可以导入多少数据