Javascript 在Webpack中,导出文件如何不导入它导出的所有内容?
我有一个分为“模块”的项目 每个模块都有一个导出文件,该文件从模块导出多个文件 按照惯例,我们只需要模块中公开的内容 例如,如果我有“顶栏”和“工作区”模块,并且它们需要通信,“顶栏”仅公开index.js,而“工作区”需要其中所需的“顶栏”部分: TopBar/index.js:Javascript 在Webpack中,导出文件如何不导入它导出的所有内容?,javascript,ecmascript-6,webpack,Javascript,Ecmascript 6,Webpack,我有一个分为“模块”的项目 每个模块都有一个导出文件,该文件从模块导出多个文件 按照惯例,我们只需要模块中公开的内容 例如,如果我有“顶栏”和“工作区”模块,并且它们需要通信,“顶栏”仅公开index.js,而“工作区”需要其中所需的“顶栏”部分: TopBar/index.js: export TopBarComponent from './components/TopBarComponent' export SomethingElse from './service/SomethingEl
export TopBarComponent from './components/TopBarComponent'
export SomethingElse from './service/SomethingElse'
Workspace/components/Workspace.js:
import {TopBarComponent} from 'TopBarComponent'
....
虽然这样项目是非常模块化的,但我的问题是,当“工作区”需要“TopBarComponent”时,“SomethingElse”会被导入
假设每个模块的index.js都是一个导出文件,并且只有导出行,您有什么想法可以阻止它
让我简单地说
对于webpack,只需完全省略
index.js
<代码>从最初定义的位置导入{TopBarComponent}。其他更简洁的绑定器(比如Webpack2,Rollup?)将执行树抖动以消除我们避免的未使用依赖项import{TopBarComponent}porpoise上的.././TopBar/components/TopBarComponent
,因此每个模块只导出它想要导出的部分,并且有一个不直接从其他模块导入的约定。我会检查webpack2。谢谢这个问题是关于“SomethingElse”在没有明确导入的情况下被导入的。唉!我指的是同一点。如果我错了,请纠正我。如果您采用从与另一个相同的文件内容导出的方法,我也不想尝试。即使您想导出整个文件,只需将其包装在一个函数中,并使用export语句使用export explicity,也不能得到除导出内容以外的任何其他内容。进出口相当安全!
var something;
var data = "index Data 1"
export data
export default "index Data 2"
import defaultData , {data} from 'index'
...
..
var topbardata = "something"
export default {key : []};
export topbardata ;
import defaultData , {topbardata} from 'TopBarComponent'