如何在ES6中导入完整模块(不带导出)?

时间:2017-10-31 07:09:16

标签: 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没有导出,如果这甚至意味着什么(我是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

有什么想法吗?

+++ UPDATE +++

再详细说明一下,这里是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)。

0 个答案:

没有答案