在BoilerplatJS站点托管的示例项目中,当我们激活特定的示例模块(例如clickCounter)时,其他模块(component.js、viewmodel.js和其他模块)中的所有脚本都会加载到浏览器中。
如果我们必须基于某种授权将模块限制为用户,如何限制这种行为?
谢谢!
这里有几点需要注意。
-
首先关于加载的文件:在您的生产部署中,所有这些文件都将由BoilerplateJS优化器进行组合、缩小和模糊处理。这意味着,无论如何,您的所有代码都将在生产中的单个脚本中,这在AMD JavaScript应用程序中是正常的。
-
即使加载了代码,单个组件也不会被渲染,直到它们收到来自前端控制器的激活调用。您的模块将在初始应用程序加载时注册UI组件,但UI组件的真正创建仅在组件的"激活"功能中进行。这将确保应用程序加载时间更快,并且UI组件的创建仅在需要时进行。
-
您不应该在应用程序中依赖客户端授权。所有JS代码都将进入客户端浏览器,并有可能被修改。但为了用户友好,您可以隐藏用户不允许的操作。在哪里执行取决于控制的粒度。如果您希望它在组件级别,您可以在导航菜单本身上执行此操作。