Javascript 担心EcmaScript 2015模块中的循环引用
我正在使用已启用的webpack 我有一个疯狂的想法,将我所有的逻辑分割成不同的文件: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的一部分 例
|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!