这来自第三方库在Script中的想法,以阻止开发人员自定义它们。它会鼓励他们编写扩展,以便更容易接受任一库的新版本。
答案 0 :(得分:5)
您对其他开发人员误认为可自定义文件的durandal库提出了一个很好的观点。
但是,你不需要在任何地方保留durandal。文件夹结构可以是您想要的任何内容。因为durandal没有强加任何文件夹结构..它只有一个推荐的默认设置。遵循其模式有好处。
将durandal作为应用程序根文件夹的一部分。它将所有amd javascript文件保存在一个根文件夹中。这样,当您运行durandal optimizer时,它可以扫描每个子文件夹以将所有html / css / j压缩/缩小/ uglify为1个文件。这是一个很好的好处,因为它是整个应用程序的一次点击构建。
此外,它是一个很好的分离,因为如果您使用bundler将所有第三方库压缩为单独的,以这种方式将第三方非amd JavaScript库保存在单独的文件夹结构中是一个好主意文件。浏览器可以将您的应用程序与第三方库分开缓存。因为第三方库不会经常更改,而您的应用程序可能会经常更改。
但是durandal的约定都是完全可配置的,你可以把durandal放在你喜欢的任何地方。
答案 1 :(得分:0)
这是Durandal决定使用的惯例,以帮助将客户客户端代码组织在App文件夹中,远离第三方脚本文件夹,这很快就会非常混乱。它确实将require.js放在App文件夹中,因为它依赖于require.js及其AMD模式。 require.js用于帮助定位所有模块并根据需要加载它们(在App文件夹中)。
是否有某种特定的东西可以防止这种情况发生?