我在网站中使用 Vue.js,并将模板添加到 html 代码中,并将 js 代码添加到单个 js 文件中。 所以我不想使用 *.vue <-> Vuefy/Browserfy 方法,而是稍后捆绑并缩小我的 js 文件。
由于我必须使用 Asp.Net MVC,我可以在视图中拆分单个 Html 文件,并插入使用 @Render.Partial(...) 分层结构的 vue-div-elements。 这样我就可以进行彻底的分离并使用与 *.vue 文件相同的系统。
这是一个好的做法吗?
您认为在每个部分 .cshtml 中编写 html 和 new Vue({}) 会更好,还是只在那里编写 html 代码并将 JavaScript 放入 (a) js 文件中更好。
脚本标签中的js代码无法捆绑,我不喜欢那么多内联代码,但它会很好地耦合组件代码。
通过使用多个 js 文件,我可以将其存储在其部分伙伴旁边的视图文件夹中,并将它们与 VS Extension Bundler 和 Minifier 捆绑在一起。
这些想法有用吗?还是有在 ASP.NET 中使用 VueJS 模板的好方法吗?
编辑:我曾经用特定的前缀编写一些部分视图。包含内联脚本标签,它与 .vue 方法非常接近,并且在小组件中很酷,因为它全部都在一个页面中。内联脚本以 Razor 为条件,因此仅在开发版本中它才会内联渲染,对于生产它会分开发送。为此,我编写了一个 PowerShell 脚本并将其作为预构建事件执行,以将所有内联代码提取到 js 文件中。 该文件与其他 js 文件捆绑在一起,并进行缩小以用于生产。所以我可以在 html/templates 中使用所有 Razor 功能,而项目的其他页面只是 *.cshtml 视图。 对于只有一个 SPA 站点,iknowitwasyoufredo 提到的方法听起来更好。
如果你使用 vue.js 来做一些简单的 js 任务,而不是 jquery 我认为它很好。 但如果你想要一个单页面应用程序、路由、双向绑定等,将 asp.net mvc 视图与 vue.js 混合并不是一个好主意。最终,你会面临很多问题。
这是一个架构决策,但您可以使用 dotnet 实现 Web api 服务,并从 node.js 应用程序(express、webpack、vue.js)使用此服务。