require循环依赖分为
运行循环依赖 和 编译循环依赖
编译循环依赖是不可以继续下去的。比如在入口函数main.js里,require了a.js文件
main.jsdefine(function () { var a = require('../a'); function init() { //... } return init;});a.jsdefine(function () { var main = require('../main'); function init() { //... } return init;})
这样在编译时就出现了循环依赖,main里要编译require('../a'); a里要编译require('../main')
http://www.cnblogs.com/terrylin/p/3347073.html
解决方法:让编译依赖变成运行依赖