Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 担心EcmaScript 2015模块中的循环引用_Javascript_Webpack_Ecmascript 6_Es6 Modules_Webpack Encore - Fatal编程技术网

Javascript 担心EcmaScript 2015模块中的循环引用

Javascript 担心EcmaScript 2015模块中的循环引用,javascript,webpack,ecmascript-6,es6-modules,webpack-encore,Javascript,Webpack,Ecmascript 6,Es6 Modules,Webpack Encore,我正在使用已启用的webpack 我有一个疯狂的想法,将我所有的逻辑分割成不同的文件: |utils |- animations.js |- controls.js |- debug.js |- dialogs.js |- events.js |- index.js |- layout.manager.js |- regex.js |- settings.js |- translator.js 我觉得那很好。但是现在我有了一些特定于页面的js文件(称为管理器),它们需要这些UTIL的一部分 例

我正在使用已启用的webpack

我有一个疯狂的想法,将我所有的逻辑分割成不同的文件:

|utils
|- animations.js
|- controls.js
|- debug.js
|- dialogs.js
|- events.js
|- index.js
|- layout.manager.js
|- regex.js
|- settings.js
|- translator.js
我觉得那很好。但是现在我有了一些特定于页面的js文件(称为管理器),它们需要这些UTIL的一部分

例如:

// /managers/forumManager.js
import Translator from '../utils/translator';
import Controls from '../utils/controls';
import Dialog, { LoadingDialog, Toast } from '../utils/dialogs'
有更多的管理者以类似的方式工作。现在,每当我构建我的项目时,我都会遇到一些大供应商~*.js文件(大小为1~2mb)。 我找不到减少文件大小的方法,所以我决定选择
/utils/index.js
作为所有util的中心

// /utils/index.js
import Translator from './translator';
import Settings from './settings';
import Animations from './animations';
import Events from "./events";
import Controls from './controls';
import Dialogs, { LoadingDialog, Toast } from './dialogs';
import RegexUtils from './regex';

export { Translator, Settings, Animations, Events, Controls, Dialogs, LoadingDialog, Toast, RegexUtils };
但是
对话框
需要访问几个UTIL,因此:

// /utils/dialogs.js
import { Translator, RegexUtil, Animation, Events, Controls } from './index';
这减少了
vendors~*.js
文件的数量,但这感觉不对。 有一个建议的解决方案是通过解决有问题的依赖项(通过构造函数传递依赖项)。但我一点也不喜欢这个主意


我希望对ES6有更好理解的人能帮我写这篇有趣的文章,也许值得一读;)@Iluvrogix pfew。。。谢谢我理解为什么这会是一个问题,但这感觉像是一个很大的限制,这样做很自然。我想我需要重新思考如何组织我的代码,然后始终试着记住编译后的代码:当a需要B和B需要a时,编译器如何知道如何构造要执行的逻辑?“zijn eigen staart中的De kat bijt”@iLuvLogix哈哈,domme kat!