前端框架Vue(13)——vue 中如何对公共css、 js 方法进行单文件统一管理,全局调用

微前端面试题及详细答案 88道(09-18)-- 核心原理与实现方式 本文总结了微前端架构中的核心面试题,涵盖9个关键问题: 微前端关键技术点:包括应用加载/卸载、隔离机制、路由管理、通信方式等核心要素。 应用加载/卸载实现:通过动态资源加载、生命周期钩子(bootstrap/mount/unmount)完成子应用切换。 应用隔离机制:通过JS沙箱(快照/代理)和CSS隔离(Shadow DOM/CSS Modules)保证环境独立。 样式隔离方案对比:分析Shadow DOM、CSS Modules等5种方式的优缺点及适用场景。 JS沙箱原理:详解快照沙箱 阅读详情

1、前言

    最近,为公司开发交付的一个后台管理系统项目,我使用了 Vue 框架进行开发实践。

    模块化、组件化、工程化的开发体验非常好。良好的 api,优雅的设计,对于工程师非常友好。

    但是由于模块比较多,我对于每个模块分配了不同的组件,发现一个项目中有许多相同的方法,
    在每个组件中我都需要进行重复的编写。

    所以,我希望能够将这些公共的方法,抽离出来放到同一个 js 中,这里就取名 util.js。

2、模型设计

这里写图片描述

3、实现方法

1、方法一

暴露接口的方式,直接在组件中进行引用

首先在 util.js 单独文件中写两个方法:

这里写图片描述

在组件中引用,测试了无法在 main.js 中全局引用(有方法请告诉我):

import {a,b} from '../static/js/util.js'

调用:

test: function() {
        a();
        b();
}



2、方法二:

将公共方法集成到 Vue 原型上,Vue.prototype.name

首先在 util.js 中写方法:

这里写图片描述

在 main.js 中进行全局引用:

这里写图片描述

调用:

this.adminApi.a();
this.adminApi.b();

其实我想要实现是这样的,感谢 @wow511287680 留言提供的思路:

    // utils.js  
    let utils = {  
        toPath (name) {  
            location.href = '/#/' + name;  
        }  
    };  

    export {  
        utils  
    }  

    xxx.vue  
    import {utils} from '@/js/utils';  

这样,不同对象中分别有不同的方法,分层更加的清晰,可维护性也更高。

这里写图片描述

在组件中先引用,再调用:

import {obj, obj1} from '../../static/js/utils'
obj.fun1();
obj1.fun1();

4、CSS 公用样式进行抽离复用

建一个公共样式 css 文件:

这里写图片描述

在 main.js 中进行全局引用,方法同 js:

import './static/css/common.css'

.
..
…
….

本文,未完待续 … …

vue-cli脚手架build目录下utils.js工具配置文件详解 此文章用来解释vue-cli脚手架build目录中的utils.js配置文件 1.此配置文件是vue开发环境的wepack相关配置文件,主要用来处理css-loader和vue-style-loader 2.关于注释 •当涉及到较复杂的解释我将通过标识的方式(如(1))将解释写到单独的注释模块,请自行查看 3.上代码 // 引入nodejs路径模块 var path = require('path') // 引入config目录下的index.js配置文件 var config = require('../config') // 引入extract-text-webpack-plugi 立即下载

相关推荐

在vue.js中抽出公共代码的方法示例

主要给大家介绍了在vue.js中抽出公共代码的方法,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

模块三:Vuex 数据流管理及Vue.js 服务端渲染(SSR)(二)服务端渲染基础与NuxtJS

本篇文章首先简述了渲染页面的三种方式:服务端渲染、客户端渲染、同构渲染;其次介绍了基于Vue的同构渲染框架NuxtJS,最后应用NuxtJS书写实例项目,在实践中体会NuxtJS的使用。

weixin_45855469的博客 1704

vuejs 单文件组件.vue 文件的使用

本篇文章主要介绍了vuejs 单文件组件.vue 文件的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

vue后台 select的查询条件太多,封装到一个js文件中

select条件太多,封装起来移出去

小f要努力啦的博客 681

Android11.0系统中适配EC20模块4G及GPS功能

本文主要描述在RK3568Android11中适配EC20模块,启用4G与GPS功能。

yjz_0314的博客 2791

3D数学-动力学

3D数学-11-动力学 旋转运动学 二维旋转动力学 首先我们考虑最简单的情况: 我们将F施加在圆盘(忽略质量)上的一个点(质量为m)上 图中:F为我们施加的力,O是枢轴原点。 通过基本的运算,我们可以得到 F'= F*sinθ 那么切向加速度 a = F'/ m 切向加速度是线性速度的加速度,我们通过除以半径获得角加速度 α = a / r 现在,我们换一种方式,那就是通过杠杆臂的方式去施加力 为了能够计算出m点的角加速度,我们需要引入一个概念:扭矩 他的理解类似于力矩,公式如下 τ = Flsi

韩天衣的博客 2285

vue中引入公共样式的方法

公共样式通常包括全局样式和组件样式。

weixin_63896561的博客 1942

昇腾910B多卡环境下hccl-test性能调优实战

本文详细介绍了昇腾910B多卡环境下hccl-test性能调优的实战经验,包括环境搭建、CANN工具链配置、性能测试与高级调优技巧。通过优化缓冲区、PCIe拓扑和中断亲和性设置,显著提升多卡通信效率,为AI训练提供稳定高效的计算支持。

weixin_29216049的博客 833

vue-批量导出

第一步:安装插件 npm -i xlsx 第二步:main.js 挂载插件 import xlsx from "xlsx" Vue.prototype.xlsx = xlsx 第三步:编写导出组件,在使用xlsx,要使用this。 <template> <!-- 批量导出按钮 --> <div class="searchBox"> <el-button type="success" @click="exportExcel">导出EXCEL&

qq_43661408的博客 1439

Windows上python的spark环境搭建

1.安装好JDK 下载并安装好jdk-12.0.1_windows-x64_bin.exe,配置环境变量: 新建系统变量JAVA_HOME,值为Java安装路径 新建系统变量CLASSPATH,值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(注意最前面的圆点) 配置系统变量PATH,添加 %JAVA_HOME%bin;%JAVA_HOME%jrebin 在CMD中输入:java或者java -version,不显示不是内部命令等,说明安装成功。

weixin_43915303的博客 651

从Simulink到Amesim:一份FMU联合仿真的避坑指南(含UDP通讯完整配置)

本文详细解析了从Simulink到Amesim的FMU联合仿真全流程,重点介绍了UDP通讯配置中的常见陷阱与解决方案。通过实战案例,帮助工程师规避编译器不兼容、步长设置冲突等典型问题,提升复杂系统仿真的效率与准确性。

weixin_34046298的博客 336

前端编码规范完整版|基础语法 + 双框架 + 工程化全涵盖

本文档覆盖前端通用规范、HTML/CSS/JS/TS 基础语法、Vue/React 主流框架编码规则及静态资源标准,所有规则区分强制 / 推荐,优先级清晰、可直接落地执行。团队所有前端项目需严格遵循本规范,统一编码风格、规避常规 bug、提升项目可维护性与工程化质量。

weixin_45242865的博客 862

AD2S1210与DSP28335 SPI通信中的GPIO配置陷阱与解决

本文深入剖析了AD2S1210与DSP28335进行SPI通信时,因GPIO输入限定配置不当导致数据整体右移的典型问题。文章指出,错误地将MISO引脚配置为带采样周期的同步模式是根本原因,并提供了将输入选择限制正确设置为异步模式的解决方案。同时,总结了不同应用场景下GPIO输入限定的配置原则,为高速同步通信的稳定实现提供了关键指导。

weixin_29163857的博客 146

2024年前端最全程序人生:未来,企业真的只有几个前端工程师吗?(1),字节跳动前端高级工程师

微前端并非只是解决在页面上异步加载一个模块就完事了,更多的是将改造引发的一系列问题需要通过体系化的方案解决,否则就变成反生产力工具。比如构建,增加微应用类型的项目构建,有动态的打包策略。云时代的开发模式注定是「碎片化」的,开发是面向模块的,而页面只是一种组合场景,一种运行时容器。由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!通过多个微应用的组合,能够在变化如此复杂的需求中,更好的更快的赋能业务。

2401_84617821的博客 879

传导案例:某医疗仪器传导骚扰整改案例

紫外线光疗仪是一种专业的医疗设备,主要用于治疗银屑病、白癜风等皮肤疾病。该设备采用物理治疗技术,通过特定波长的紫外线照射人体来达到治疗效果。自1984年窄谱中波紫外线(NB-UVB)应用于临床以来,该技术已成为治疗早期蕈样肉芽肿(MF)的有效方法之一。作为二类医疗器械,紫外线光疗仪必须符合严格的电磁兼容性(EMC)标准,这不仅关系到设备自身的稳定运行,更关乎患者的使用安全和治疗效果。紫外线光疗仪传导骚扰整改案例充分展示了系统性EMC设计的重要性。

m0_56451176的博客 340

A*搜索算法在三维路径规划(避障)中的MATLAB实现与Python实现

A star algorithmA*搜索算法简介A*搜索算法的Python简化代码MATLAB实现启发函数回溯轨迹RRT算法对比A\*算法在三维路径规划中的一些不足 A*搜索算法简介 A*搜索算法是Greedy Best-First算法的改进,因为Greedy Best-First算法只考虑将预估距离(当前节点到目标点的预估距离)作为遴选开节点集的条件。即: priority=heuristic(goal,next)priority=heuristic(goal, next)priority=heurist

ZYunfei的博客 2万+

ssm疫情小区封闭管理k0i2k(程序+源码+数据库+调试部署+开发环境)

随着新冠疫情的持续蔓延,为确保居民健康安全,多地采取了小区封闭式管理的措施。这种管理方式通过限制小区内外的人员流动,有效降低了疫情的传播风险。本课题旨在研究疫情小区封闭管理的具体实施方式、效果评估及改进建议,以期为疫情防控工作提供有益的参考。

ck3017的博客 844

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

前端开发规范

开发规范 本文档主要包括以下是三个部分 vue 框架构建及开发规范 webpack 打包优化 前端错误日志收集 文章目录开发规范前言1、vue 框架构建及开发规范1.1 规范目的1.2 vue 项目框架搭建1.2.1 脚手架构建1.2.2 项目目录1.2.3 UI框架选择1.2.4 css预处理器1.3 axios 请求1.3.1 设置请求拦截和响应拦截1.4 工具类函数封装1.4.1 添加方法到vue实例的原型链上1.4.2 在main.js通过vue.use()注册1.5 命名规范1.6 编码规范1.

weixin_43905464的博客 304

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

前端基础建设

创建request.js文件]})},error => {Message({})})})} else {return res},error => {Message({})[业务对应的api文件]})[在vue页面中的使用]先引入再运行})[getters.js文件]

weixin_38331749的博客 249

Vue 完整版系统知识文档

《Vue全栈开发实战手册》摘要 本手册系统整合Vue2/Vue3全栈知识体系,涵盖基础语法、组件开发、状态管理、工程化等核心内容,适合从入门到精通的完整学习路径。主要特点: 基础核心 详解MVVM架构和响应式原理(Vue2的Object.defineProperty vs Vue3的Proxy) 完整模板语法规则与16种内置指令解析 组件系统核心:通信机制(8种方案)、插槽、动态组件、递归组件 进阶实战 状态管理:Vuex/Pinia完整解决方案 路由开发:动态路由、权限控制、懒加载 工程化:Webpack

专注 Java 后端开发,分享基础语法、JVM、并发、Spring 全家桶、微服务、分布式、性能优化等实战干货。坚持输出高质量技术笔记,用简单语言讲清复杂原理,助力每一位 Java 开发者稳步进阶。 400

Vite多入口配置实战:Vue3项目架构与路由管理指南

在现代前端工程化实践中,构建工具的多入口配置是管理复杂项目架构的关键技术。其核心原理是通过配置构建工具的入口选项,将多个独立的HTML页面作为独立入口进行打包,实现资源的物理隔离和独立部署。这项技术的核心价值在于能够将不同功能模块解耦,支持混合应用架构(MPA与SPA并存),显著提升大型项目的可维护性和部署灵活性。在Vue3技术栈中,结合Vite构建工具,开发者可以高效实现多入口配置,并为每个入口独立配置Vue Router路由系统。本文聚焦Vite多入口配置的工程实践,详细解析如何通过rollupOpti

weixin_33670713的博客 534

VUE2常见面试题

本文摘要: Vue相关技术核心概念解析 MVVM与MVC架构区别 MVC单向数据流,视图与控制器耦合 MVVM双向绑定,数据自动同步,解耦视图与模型 Vue核心特性 生命周期钩子函数执行顺序(8个阶段) 数据双向绑定原理(Object.defineProperty+发布订阅) 组件通信机制(父子props/emit、跨级provide/inject等) 虚拟DOM与diff算法优化渲染 计算属性与侦听器区别(缓存机制) 状态管理 Vuex工作流程(state/mutations/actions/getter

2301_76805327的博客 467

面试高频版

Tailwind 是一个原子化 CSS 框架,它最大的优势是开发效率高、命名负担小、响应式简洁、风格统一。通过配置文件可统一主题样式,同时 JIT 模式让打包体积更小,非常适合现代前端框架(如 React 和 Vue)的组件化开发。通过统一的构建工具(如 Turborepo、Nx、Lerna、Rush)来管理它们的依赖关系、构建流程和发布。定义:BFC 是页面上的一个独立渲染区域,内部元素的布局不会影响外部元素。默认的标准(W3C)盒模型元素效果,元素的。触发怪异(IE)盒模型元素的效果,元素的。

2301_78815952的博客 581

2026面试预判及实际面试

本文摘要总结了多个前端开发岗位的面试问题和答案,涵盖Vue3、ECharts、数据可视化、JavaScript核心概念等内容。 Vue3高频问题 组合式API相比选项式API的优势在于逻辑内聚、更好的TS支持和复用性。 状态管理推荐Pinia,轻量且支持组合式API风格。 动态路由和权限控制通过router.addRoute和路由守卫实现。 响应式原理基于Proxy和Reflect,解决了Vue2的局限性。 ECharts与数据可视化 性能优化包括数据聚合、懒渲染和dataZoom区域缩放。

Mr.小灰狼_随笔 579

JavaWeb学习

#前端部分(了解)课程思路、前端要素(Web了解、html、JS、vue、ajax、Element等)传统路线现在课程大纲路线## 前端要素(Web了解、html)HTML语法特点基本标签html标签(span)html标签(a)html标签(video)盒子模型:html标签(div)html标签(表格)html标签(表单)## 前端要素(JS)JS引入方式JS基础语法JS函数JS对象(基础(只关注Array、String、JSON)、BOM、DOM)JS事件监听## 前端要素(Vue)插值表达式Vue常

qq_2634545805的博客 430

前端工程师的生存地图:从技术执行到工程决策的能力跃迁

前端开发的本质已从API调用熟练度,转向基于性能、可维护性、团队协同与演进韧性四维权衡的工程决策能力。当React/Vue等框架语法不再是瓶颈,真实业务中反复出现的状态同步失序、资源竞争冲突、环境假设错位等共性问题,暴露出开发者在状态治理、性能归因、协作契约和演进防御四大核心场景下的判断力断层。本文聚焦‘可迁移、可验证、可复盘’的前端工程化方法论,通过典型业务场景(如三级联动筛选、LCP超时归因、组件卸载状态更新)拆解决策框架与实操闭环,帮助已有半年以上业务经验的前端工程师跨越‘能写’到‘敢担’的关键一跃。

baochuanying9531的博客 366
上一篇: web前端二三招——计算机原理知识点总结
下一篇: 前端框架Vue(14)—— 利用 vue 过渡效果(transition)+定时器 实现轮播图通用组件
JesusAllen30
博客等级 码龄11年 225粉丝 53原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值