Javascript 如何在ES6中导入完整模块(无导出)?
我有以下文件夹结构:Javascript 如何在ES6中导入完整模块(无导出)?,javascript,import,ecmascript-6,es6-modules,Javascript,Import,Ecmascript 6,Es6 Modules,我有以下文件夹结构: Parent / Child-A / src / modules / Module-A.js Module-B.js Module-C.js Module-D.js Main-A.js Child-B / src / Main-B.js 我想在MainB.js中导入ModuleA.js。请注意ModuleA.js没有导出,如果这意味着什么的话(我是
Parent /
Child-A /
src /
modules /
Module-A.js
Module-B.js
Module-C.js
Module-D.js
Main-A.js
Child-B /
src /
Main-B.js
我想在MainB.js中导入ModuleA.js。请注意ModuleA.js没有导出,如果这意味着什么的话(我是ES6新手)。它看起来像这样:
import { showNotification } from './Notification';
$( document ).on( 'click', '[data-action="load-more"]', ajaxCall );
function ajaxCall() {
...
}
function addNewPosts() {
...
}
function notifyError() {
...
}
我尝试导入模块,在Main-B.js中添加这行代码:
import '../../Child-A/src/modules/Module-A.js'
但出于某种原因,这会导入整个Main-A.js,而不仅仅是Module-A.js
有什么想法吗
+++更新+++
更详细地说,这里是Main-a.js代码,它导入Child-a项目中的所有模块:
// Stylesheets
import './style.scss';
// Libraries
import 'salvattore';
import 'jquery-lazy';
// Custom Scripts
import './modules/Module-A';
import './modules/Module-B';
import './modules/Module-C';
import './modules/Module-D';
下面是Child-B项目的Main-B.js文件:
// Stylesheets
import './style.scss';
// Libraries
import 'salvattore';
// Custom Scripts
import '../../Child-A/src/modules/Module-A.js';
就像我说的,在这个Main-B.js文件中,我只想导入Module-A;但是像我这样做会导致导入Child-A项目中的所有模块,我知道这是因为其他模块中的函数也在Child-B项目中工作,即使我没有显式导入它们,我也不明白它们为什么工作
我正在为每个项目使用模块绑定器(Webpack)。“但出于某种原因,这会导入整个Main-a.js,而不仅仅是module-a.js”-你是什么意思?您如何知道它正在导入该文件?其代码是否运行?您是否使用模块绑定器并在输出中看到它?“整个Main-A.js”是什么?你期望它的“部分”是什么?你能发布文件
Main-A.js
和Notification
的内容吗?@Bergi我已经更新了我的答案,谢谢你的关注。Child-A模块之间是否存在循环依赖关系?这就是为什么我要求提供/Notification
-导入Module-A.js
时当然也需要它和它的所有依赖项。可能的副本请继续阅读。“但出于某种原因,这导入了整个Main-A.js,而不仅仅是Module-A.js”-你是什么意思?您如何知道它正在导入该文件?其代码是否运行?您是否使用模块绑定器并在输出中看到它?“整个Main-A.js”是什么?你期望它的“部分”是什么?你能发布文件Main-A.js
和Notification
的内容吗?@Bergi我已经更新了我的答案,谢谢你的关注。Child-A模块之间是否存在循环依赖关系?这就是为什么我要求提供/Notification
-导入Module-A.js
时当然也需要它和它的所有依赖项。可能的副本请继续阅读。