Ampersand.js 管理面板使其成为一个 2 页的应用程序?
Ampersand.js admin panel makes it a 2 page app?
& 作为一个单页应用程序框架,我是否会通过创建一个单独的页面来开始搞砸事情,该页面将具有几乎相同数量的功能,甚至不一定与访问者页面相关(小型企业应用程序可能希望有额外的管理相关功能)?
好吧,一如既往,这取决于。基本上,如果您的管理页面不会给应用程序的大小增加太多开销,那么您可以将其保留为 SPA。大多数 "heavy" 部分可能是您使用的不同库。如果这些库对于管理员和简单用户来说都是相同的,那么您自己的视图和内容不会真正增加太多(特别是如果您正在缩小和 gzip 压缩所有内容,并且您应该这么做)。但是如果你使用,比方说,一个 tinymce + full lodash + ... 用于管理目的,而你不为普通访问者使用,那么你可能应该把它放在两个单独的应用程序中,因为你不希望你的访问者额外加载 300kb。
从安全的角度来看,这应该不是问题,因为对您 API 的所有请求都应该在服务器端进行检查。因此,即使有人获得了管理员视图的访问权限,他们也应该无法获得或 post 任何他们无权访问的内容。
P.S。由于 browserifying 可能需要一段时间,我真的建议你使用 watch option 如果你还没有这样做,它会在你更改代码时真正加快编译速度
& 作为一个单页应用程序框架,我是否会通过创建一个单独的页面来开始搞砸事情,该页面将具有几乎相同数量的功能,甚至不一定与访问者页面相关(小型企业应用程序可能希望有额外的管理相关功能)?
好吧,一如既往,这取决于。基本上,如果您的管理页面不会给应用程序的大小增加太多开销,那么您可以将其保留为 SPA。大多数 "heavy" 部分可能是您使用的不同库。如果这些库对于管理员和简单用户来说都是相同的,那么您自己的视图和内容不会真正增加太多(特别是如果您正在缩小和 gzip 压缩所有内容,并且您应该这么做)。但是如果你使用,比方说,一个 tinymce + full lodash + ... 用于管理目的,而你不为普通访问者使用,那么你可能应该把它放在两个单独的应用程序中,因为你不希望你的访问者额外加载 300kb。
从安全的角度来看,这应该不是问题,因为对您 API 的所有请求都应该在服务器端进行检查。因此,即使有人获得了管理员视图的访问权限,他们也应该无法获得或 post 任何他们无权访问的内容。
P.S。由于 browserifying 可能需要一段时间,我真的建议你使用 watch option 如果你还没有这样做,它会在你更改代码时真正加快编译速度