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