在这个简单的Require/Backbone应用程序中
https://github.com/thisishardcoded/require-prob
为什么app.js看到路由器而不是TestView.js?
这是app.js的第一行
define(['router'],function (Router) {
Run Code Online (Sandbox Code Playgroud)
这是TestView.js的第一行
define(['backbone','router'],function(Backbone,Router){
Run Code Online (Sandbox Code Playgroud)
如果你有这种倾向,请查看repo以获取完整的详细信息,下载,运行并检查控制台日志
谢谢!吉姆
更多:好的,答案是 - 因为它的加载顺序,即使它被改变了,我有一个循环依赖不是吗?TestView需要路由器,路由器需要TestView.
在哪种情况下解决方案可能是
var r=require('router);
r.navigate or whatever
Run Code Online (Sandbox Code Playgroud)
但是,路由器到处都无法直接访问,这似乎是一种耻辱,无论如何,上述方法是不是很好的做法?