首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么webpack不把组件中的CSS渲染成vendor.css文件?

Webpack不会将组件中的CSS渲染成vendor.css文件的原因是因为Webpack的设计理念是将所有模块打包成一个或多个bundle文件,而不是将每个组件的CSS单独提取出来。

Webpack的主要目标是将所有模块打包成一个或多个bundle文件,以便在浏览器中加载。它通过解析模块之间的依赖关系,并将它们打包成一个或多个bundle文件,以实现代码的模块化和优化。

在Webpack中,CSS通常是通过CSS加载器(如style-loader和css-loader)来处理的。当Webpack遇到CSS模块时,它会将CSS代码转换为JavaScript代码,并将其插入到bundle文件中。这样做的好处是可以将CSS与对应的组件代码捆绑在一起,减少了额外的网络请求,并且可以更好地控制CSS的加载顺序和作用域。

另外,Webpack还提供了一些插件(如MiniCssExtractPlugin)可以将CSS提取为单独的文件,以便于缓存和并行加载。但是,这种提取CSS的方式是基于入口文件的,而不是基于组件的。因此,Webpack默认不会将组件中的CSS渲染成单独的vendor.css文件。

对于组件中的CSS,Webpack会将其与对应的组件代码打包在一起,并在需要时动态加载。这种方式可以减少额外的网络请求,并且可以更好地控制CSS的加载顺序和作用域。但是,如果需要将组件中的CSS提取为单独的文件,可以使用Webpack的插件来实现。

总结起来,Webpack不将组件中的CSS渲染成vendor.css文件是因为其设计理念是将所有模块打包成一个或多个bundle文件,并且通过动态加载来控制CSS的加载顺序和作用域。如果需要将组件中的CSS提取为单独的文件,可以使用Webpack的插件来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Webpack实战-构建同构应用

染成字符串(服务器端渲染),或者渲染成手机 App 原生 UI 组件( React Native)。.../main_server.js', // 为了不把 Node.js 内置模块打包进输出文件,例如 fs net 模块等 target: 'node', // 为了不把 node_modules...CSS 文件CSS 会影响服务端渲染性能,又是做服务端不重要部分; libraryTarget: 'commonjs2' 以 CommonJS2 规范导出渲染函数,以供给采用 Node.js 编写...为了最大限度复用代码,需要调整下目录结构: 把页面的根组件放到一个单独文件 AppComponent.js,该文件只能包含根组件代码,不能包含渲染入口代码,而且需要导出根组件以供给渲染入口调用,.../AppComponent'; // 导出渲染函数,以给采用 Node.js 编写 HTTP 服务器代码调用 export function render() { // 把根组件染成 HTML

95310

Webpack实战-构建同构应用

染成字符串(服务器端渲染),或者渲染成手机 App 原生 UI 组件( React Native)。.../main_server.js', // 为了不把 Node.js 内置模块打包进输出文件,例如 fs net 模块等 target: 'node', // 为了不把 node_modules...CSS 文件CSS 会影响服务端渲染性能,又是做服务端不重要部分; libraryTarget: 'commonjs2' 以 CommonJS2 规范导出渲染函数,以供给采用 Node.js 编写...为了最大限度复用代码,需要调整下目录结构: 把页面的根组件放到一个单独文件 AppComponent.js,该文件只能包含根组件代码,不能包含渲染入口代码,而且需要导出根组件以供给渲染入口调用,.../AppComponent'; // 导出渲染函数,以给采用 Node.js 编写 HTTP 服务器代码调用 export function render() { // 把根组件染成 HTML

1.5K60

如何在vue组件引入外部css和js文件

在使用vue框架开发时,我们都知道一个组件可以同时写HTML、css、js代码,只需三个标签而已,如下: 但是要真把所有的代码都写入一个组件文件当中,那么代码量是非常大...,极不便于修改和维护,这时就需要把css样式和js代码写到其他文件下,再引入组件当中。...具体方法如下: 在组件引入css文件: @import url(css文件路径) 在组件引入js文件: 首先需要将我们js模块“抛出”,让其他文件能获取到...;如下, function home() { console.log("我是js文件") } export { home } 其次在需要导入文件导入; ...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

8.1K20

Vue笔记(7) 很长

作用域插槽 一句话来说就是: 父组件替换插槽标签,但是内容由子组件来提供 现在做这个案例: 搭建好基本结构 那么此时我想在vue实例组件中使用子组件PLanguage...js文件夹,image文件夹,css文件夹,里面是源js,源css和源图片等 main.js是入口文件,在入口文件引入要用css文件,js,图片等,打包好以后文件(bundle.js)在index.html...然后将这个CSS文件在main.js入口文件引入一下 main.js 和前面的思路是一样,把CSS文件当成一个模块去使用它,所以也是将它打包到bundle.js,就可以使用了,但是由于webpack...进行配置 也许会有个疑问,为什么是先写添加,再写加载呢?...再次run一下 这次就成功啦 看弹幕说为什么不把limit设置非常大,这样就可以不要file-loader了,因为base64处理图片会没原图那么清晰,所以只适合小图,大图还是用原图好

61620

Next.js + TypeScript 搭建一个简易博客系统

CSS 也是一样,全局 CSS 放在 _app.js 。因为切页面的时候 App 不会被销毁,其他地方只能写局部 CSS。 imprort '../styles/global.css'。...有前端基础同学就知道,不支持改文件名,会影响我们缓存策略。 如果 public 静态资源没有加缓存,这样每次请求资源都会去请求服务器,造成资源浪费。...next-images 很贴心地准备了图像模块定义文件。 所以,我们只需要在 next-env.d.ts 文件添加 next-images 类型引用就好啦。...首先准备博客文件,根目录下创建 markdown 文档,写入几篇 md 格式博客。 然后我们借助 gray-matter 从 md 文件解析数据。...CSS:在 _app.js 里 import 自定义 head:使用 组件 Next.js API:都放在 /pages/api 目录 三种渲染方式:BSR、SSG、SSR 动态内容 术语:客户端渲染

3.5K20

在找一份相对完整Webpack项目配置指南么?这里有

为什么要用Webpack 2. 什么是Webpack 3. Webpack基础配置 1. webpack配置方式主要有三种 1. 通过cli命令行传入参数 2....自定义HtmlWebpackPlugin插件编译模版文件生成JS/CSS插入位置 15. 热更新编译模版文件自动生成webpack服务器资源路径 16....其他常见问题整理 一 、为什么要用Webpack 首先,得知道为什么要用webpack 前端本可以直接HTML、CSS、Javascript就上了,不过如果要处理文件依赖、文件合并压缩、资源管理、使用新技术改善生活时候...,提取成一个[name]_vendor.css,既做到了合并,也做到了拆分,目前还没想到更好方案 上面提到过,outputpath设置成了/public/static/dist/js ,所以这里filename.../css/[name]_vendor.css?

3.4K10

从零开始,手摸手搭建前端组件

babel7babel7简单升级指南一文读懂 babel7 配置文件加载逻辑Babel快速上手使用指南babel官网组件全部加载与按需加载组件是如何被加载?...index.js引入相关vue文件,提供install方法XX.vue文件 引入less文件,内置less打包时候对于compont下文件使用CopyWebpackPlugin复制到lib目录下...Storybook环境stories目录下 新建 xx.js文件,此处映射为预览环境 左侧预览目录 // xx.js文件 引入vue组件,编写测试案例。...storybook文件 addons.js 注册相关插件 config.js 配置允许环境,安装全局插件。...vuemarkdown解析I want将组件readme文档改造为组件使用文档类似于目前知名组件库如 antd,element-ui,vant等支持代码库高亮显示,组件动态展示等效果,简而言之一句话

2.7K30

前端老牌框架衰退,IMVC(同构 MVC)成未来趋势?

方法,返回view 实例 调用view-engine 将 view 实例根据环境渲染成 html 或 native-ui 等。...服务端webpack 编译到内存模拟文件系统,再用 node.js 内置虚拟机模块执行后得到新模块。...如何处理 css 按需加载 问题根源:浏览器只在 dom-ready 之前会等待 css 资源加载后再渲染页面 问题描述:当单页跳转到另一个 url,css 资源还没加载完,页面显示成混乱布局 处理办法...:将 css 视为预加载 ajax 数据,以 style 标签形式按需引入 优化策略:用 context 缓存预加载数据,避免重复加载 如何实现代码切割、按需加载 不使用webpack-only 语法...如何处理静态资源版本管理 以代码 hash 为文件名,增量发布。用webpack.stats.plugin.js 生成静态资源表。Express 使用stats.json 数据渲染页面。

1.3K20

我攻克技术难题 - BuildAdmin04:vue加载本地svg图标

然后定义了一个svg组件(这个在后面的实现细讲)。最后就是在vite中加载这些svg文件,在Icon中使用svg时,会指向这些文件。...配置都写在webpack.config.js,后来改了。...渲染svg当使用\时,如果Iconname属性前缀为local- 的话,就渲染为svg组件(即3定义组件)。最后,看看如果渲染svg的话,Icon是如何定义name属性。5....这样,这个Icon引用了lang.svg,最终被渲染成了svg,图片右上角图标也是svg文件加载。...结语本篇文章主要讲了本地svg文件,如何通过Icon来渲染成图标,这一块与BuildAdmin实现是完全不同,就像在第一篇文章所写,学习别人东西,可以理解后照抄,但遇到问题也能自己解决。

29320

使用 CICD 优化前端构建五种策略

parallel-webpack --watch 复制代码 同样地,Parallel-Webpack 中有许多令人兴奋功能,可以集成到你 CI/CD 管道,以便加快它速度。...组件驱动型 CI:Ripple CI ---- 组件驱动型 CI 是指只在修改过组件和它们所有依赖关系(即受影响组件)上运行 CI,它不把整个项目作为一个单独实体。...使用 uglifyjs-webpack-plugin v1 插件 压缩是指在你网页压缩代码、标记和脚本文件过程。它是减少构建时间主要方法之一。...这个插件提供了多进程并行运行能力和缓存支持,大大提升了构建效率。 在压缩模块过程中使用加载器 Webpack 使用加载器将其他类型文件转化为有效模块。...因此,必须指定相关文件目录,以减少不必要模块加载。 在 Webpack 配置,你可以通过 include 选项轻松指定文件目录。

97730

使用 CICD 优化前端构建五种策略

parallel-webpack --watch 复制代码 同样地,Parallel-Webpack 中有许多令人兴奋功能,可以集成到你 CI/CD 管道,以便加快它速度。...组件驱动型 CI:Ripple CI ---- 组件驱动型 CI 是指只在修改过组件和它们所有依赖关系(即受影响组件)上运行 CI,它不把整个项目作为一个单独实体。...使用 uglifyjs-webpack-plugin v1 插件 压缩是指在你网页压缩代码、标记和脚本文件过程。它是减少构建时间主要方法之一。...这个插件提供了多进程并行运行能力和缓存支持,大大提升了构建效率。 在压缩模块过程中使用加载器 Webpack 使用加载器将其他类型文件转化为有效模块。...因此,必须指定相关文件目录,以减少不必要模块加载。 在 Webpack 配置,你可以通过 include 选项轻松指定文件目录。

99010

鹅厂原创 | Web前端踩坑记--静态资源优化总结

将首屏所有内容在服务器端渲染成html静态代码后,直接输出给浏览器,可以有效加快用户访问站点时首屏加载时间。不过此方面也不在本文讨论范围内。...我们在平时开发时候,JS脚本文件CSS样式文件代码,都会依据一定代码规范(比如javascript-standard-style)来提高项目的可维护性,以及团队之间合作效率。...[hash].js文件大小显著减少,从318kb减少到了不到100kb。 2.4 CDN和缓存 为什么使用CDN?...首先,需要在工程根目录package.json(相信使用过npm包管理前端同学一定不陌生)文件添加webpack依赖配置: {"name": "test-proj","version": "1.0.0...[hash].css文件,所有js逻辑代码按照业务逻辑和第三方库被抽离到了app.[hash].js和vendor.[hash].js文件

40910
领券