2016-10-21 64 views
4

我在網站中使用Vue.js,並在單個js文件中添加了html代碼和js代碼中的模板。 因此,我不想使用* .vue < - > Vuefy/Browserfy方法,但稍後將我的js文件捆綁並縮小。vuejs模板als asp.net partialviews,良好的做法?

因爲我必須使用Asp.Net MVC,我可以在視圖中使用單個Html文件,並插入層次結構爲@ Render.Partial(...)的vue-div-elements。 這樣我可以做一個乾淨的分離,並使用像* .vue文件一樣的系統。

這是一個很好的做法嗎?

您是否認爲在每個部分.cshtml中編寫html和新的Vue({})或者只需在其中編寫html代碼並將JavaScript放入(a)js-file(s)中會更好。

腳本標記中的js代碼不能被捆綁,我不喜歡那麼多的內聯代碼,但它會很好地耦合組件代碼。

通過使用多個js文件,我可以將它們存儲在其部分合作夥伴旁邊的views文件夾中,並將它們與VS Extension Bundler和Minifier捆綁在一起。 enter image description here

這些想法是否有用或者在asp.net中使用vuejs模板還有一個很好的方法嗎?

編輯:我以前用特定的Preifx編寫了一些部分視圖。包含內聯腳本標籤,這是非常接近.vue的方法,並且在小組件中很酷,因爲它全部在一個頁面中。內聯腳本是有條件的Razor,所以只有在開發版本中它被渲染爲內聯,因爲它的發送是分開發送的。爲此,我編寫了一個powershell腳本,並將其作爲預生成事件執行,以將所有內聯代碼提取到js文件中。 這個文件get與其他js文件捆綁在一起,並被縮小用於生產。所以我可以使用html/templates中的所有Razor功能,而項目的其他頁面只是* .cshtml視圖。 對於只有一個SPA站點,iknowitwasyoufredo提到的方法聽起來更好。

+0

如果組合的文檔大小很小,請使用嵌入式腳本,它仍然捆綁在一起,並與html捆綁在一起:),所以您稱爲捆綁的原因是爲了儘量減少請求數量,當您嵌入文檔本身時,您仍然擺脫了多一個腳本文件請求。 –

回答

1

如果你使用vue.js來做一些簡單的js任務,而不是jquery,我認爲它很好。 但是,如果你想有一個單一的頁面應用程序,路由,雙向綁定等混合asp.net mvc意見與vue.js不是一個好主意。最終,你將面臨許多問題。

這是一個架構決定,但您可以使用dotnet實現web api服務,並使用node.js應用程序(express,webpack,vue.js)中的這些服務。

+0

「不是一個好主意」,爲什麼? – liang

+0

使用webpack方法更容易,Partiel Views需要記住一些視圖,但它可以工作。對於dotnet核心,存在很棒的基於webpack的模板。 – Reiner