日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

BeetleX.FastHttpApi之Vuejs扩展

發(fā)布時間:2023/12/4 vue 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BeetleX.FastHttpApi之Vuejs扩展 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

非常喜歡用vuejs,但又不想花時間去搞nodejs和webpack之類的,所以才有了BeetleX.FastHttpApi.VueExtend這樣一個組件;組件的主要功能就是可以實現(xiàn)在vs.net中編寫*.vue并直接引用到服務中,這樣對于我這個習慣在vs.net寫服務應的帶來極大的方便性。

BeetleX的web項目結(jié)構(gòu)

以上是Beetlex網(wǎng)關的管理插件,通過BeetleX.FastHttpApi.VueExtend插件只需要在項目的views->vue目錄下編寫相關的.vue文件即可以。當然這個vue的內(nèi)容和平時在webpack中編寫的有些差別,不過會相對簡單一些:

<div class="admin-page-title"><h1><a href="http://beetlex.io" target="_blank"> Beetlex.io</a></h1><div class="page-menu"><a href="javascript:void(0)" :class="[active=='admin_home'?'active':'']" @click="onChange('admin_home')">主頁</a><a href="javascript:void(0)" :class="[active=='admin_actions'?'active':'']" @click="onChange('admin_actions')">控制器管理</a><a href="javascript:void(0)" :class="[active=='admin_urlrewrite'?'active':'']" @click="onChange('admin_urlrewrite')">URL重寫配置</a><a href="javascript:void(0)" :class="[active=='admin_folder'?'active':'']" @click="onChange('admin_folder')">虛擬目錄</a><a href="javascript:void(0)" :class="[active=='admin_log'?'active':'']" @click="onChange('admin_log')">日志</a><a href="javascript:void(0)" :class="[active=='admin_setting'?'active':'']" @click="onChange('admin_setting')">配置</a><a href="http://beetlex.io" target="_blank">關于</a><a href="javascript:void(0)" :class="[active=='admin_login'?'active':'']" @click="onSignout">退出</a></div> </div> <script>{data(){return {active: 'admin_home',signout: new beetlexAction('/admin/Signout'),}},methods: {onChange(model){this.selected = model;this.$emit('change', model);},onSignout(){this.signout.asyncget().then(r => {page.OnSignout();});}},watch: {selected(val){this.active = val;},},props: ['selected']} </script>

使用上相對會變得更簡單,只定義一個vue的結(jié)構(gòu)體,對應的import引入是不需要的,BeetleX.FastHttpApi.VueExtend插件最終會把這些文件生成并輸出一個js文件。

插件使用

由于BeetleX.FastHttpApi.VueExtend是針對BeetleX.FastHttpApi而設計的,所以只能用到Beetlex的項目。

使用之前要到

https://www.nuget.org/packages/BeetleX.FastHttpApi.VueExtend/引用最新版本。引用這后只需要針對HttpApiServer調(diào)用Vue()創(chuàng)建相關資源引用即可

HttpApiServer.Vue().Debug(); HttpApiServe.Vue().AddScript(typeof(Program).Assembly,"vue.js", "axios.js", "beetlex4axios.js", "element.js", "autobase.js", "echarts.js");

debug:方法主要是用于把解釋目錄指向當前項目的views目錄,這樣就可以修相關VUE文件的時候無法編譯即可刷新最新的結(jié)果。這個方法是基于[Conditional("DEBUG")],所以當編譯發(fā)布后就無效。

AddScript:方法主要用于添加固定的公共js文件,這些文件在生成后會被放在生成js文件的最頂部分。

頁面引用

BeetleX.FastHttpApi.VueExtend只負責vue生成最終js,需要自己建個控制器來進行頁面引用輸出:

public object GetScript(IHttpContext context) {return context.Server.Vue().Response(context); }

html頁面引用

<script?src="GetScript"></script>

組件會根據(jù)生成的js大小進行一個自動的gzip輸出,無須開發(fā)人員自行處理。除了自動gzip外組件還引入了If-None-Match頭來標記內(nèi)容的變更情況,如果輸出的內(nèi)容沒發(fā)生變化組件自動響應304。

實際應用效果

現(xiàn)有BeetleX相關web插件都是使用這種方式來進行插件UI開發(fā),對于只想用vs.net同時處理服務和前端工作的人來算是非常方便;這樣可以把前端和服務端都集成在一個項目中,也不用考慮跨域調(diào)試的問題。以下是使用BeetleX.FastHttpApi.VueExtend開發(fā)兩個插件的效果

BeetleX

開源跨平臺通訊框架(支持TLS)
輕松實現(xiàn)高性能:tcp、http、websocket、redis、rpc和網(wǎng)關等服務應用

https://beetlex.io

總結(jié)

以上是生活随笔為你收集整理的BeetleX.FastHttpApi之Vuejs扩展的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。