贊,@ RP Niemeyer評論說,我也把單獨的綁定,擴展和視圖模型。原因是它允許更前端的代碼模塊化設計。你永遠不知道什麼時候需要重用功能。它還允許我編寫專門用於綁定,擴展和查看模型的單元測試,而無需測試它們如何相互交互,基本上將它們分解爲可能的最小單元。
\js
\js\tests
\js\tests\knockoutExtensionTests
\js\tests\jqueryExtensionTests
\js\tests\firstBindingTest.js
\js\tests\secondBindingTest.js
\js\tests\firstVmTest.js
\js\tests\secondVmTest.js
\js\extensions
\js\extensions\knockoutExtension.js
\js\extensions\jqueryExtensions.js
\js\bindings
\js\bindings\firstBinding.js
\js\bindings\secondBinding.js
\js\viewmodels
\js\viewmodels\firstVM.js
\js\viewmodels\secondVM.js
我也不會限制它僅淘汰賽擴展,因爲你永遠不知道什麼時候你可能需要再延長圖書館像jQuery來添加更多的功能。這可能看起來像很多文件來單獨加載,但目前捆綁和縮小工具已經存在,在生產中你幾乎不會注意到。
個人而言,我總是將這些類型的東西放入單獨的文件(如綁定)中,而不是使用特定的視圖模型。 –