vue + ts + plugins 添加全局功能


 

最近研究前輩代碼,發現他們 使用Vue插件plugins為 Vue 添加全局功能 ,感覺很實用的方法

比如,我們經常會在 min.js中添加 directives, filters, mixin, Vue.prototype.XX 這些API方法,常常會使得 main.js 冗余,難看

使用 Vue 的 插件plugins,專門建一個文件來處理這些方法, 再引入 main.js 中,使得頁面簡潔又具有模塊化

 

1.在 plugins/index.ts 中

 1 // 插件類型
 2 import { PluginObject } from 'vue';
 3 
 4 // 全局資源
 5 import statics from './statics'; //靜態屬性/方法
 6 import directives from './directives'; // 自定義指令
 7 import instances from './instances'; //實例屬性/方法
 8 import filters from './filters'; //實例屬性/方法
 9 import mixins from './mixins'; // 混入
10 import { $Http } from './mixins/provides/service'; // 混入
11 
12 export const plugins: PluginObject<any> = {
13   install(Vue, options) {
14     // 靜態屬性/方法
15     Object.assign(Vue, statics);
16 
17     // 實例屬性/方法
18     // Object.assign(Vue.prototype, instances);
19 
20     // 自定義指令
21     Object.keys(directives).forEach((key: string) => {
22       Vue.directive(key, directives[key]);
23      
24     });
25 
26     // 自定義過濾器
27     Object.keys(filters).forEach((key: string) => {
28       Vue.filter(key, filters[key]);
29     });
30 
31     //請求的方法提出來了
32     Vue.prototype.$Http = $Http;
33 
34     // 混入
35     Vue.mixin({
36       ...mixins,
37     });
38   },
39 };

 

2.在 main.js 中

1   import { plugins } from '@/plugins'; // 引入全局插件
2   Vue.use(plugins);

 

分享一刻:

圖片加載失敗后CSS樣式處理最佳實踐

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM