首页
学习
活动
专区
工具
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

97810

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.6K60
  • 如何在vue组件中引入外部的css和js文件

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

    8.8K20

    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处理的图片会没原图那么清晰,所以只适合小图,大图还是用原图好

    64720

    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.9K20

    在找一份相对完整的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,既做到了合并,也做到了拆分,目前还没想到更好的方案 上面提到过,output的path设置成了/public/static/dist/js ,所以这里的filename.../css/[name]_vendor.css?

    3.5K10

    前端老牌框架衰退,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.4K20

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

    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中 配置允许环境,安装全局插件。...vue的markdown解析I want将组件中的readme文档改造为组件的使用文档类似于目前知名组件库如 antd,element-ui,vant等支持代码库高亮显示,组件动态展示等效果,简而言之一句话

    2.8K30

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

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

    1.1K30

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

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

    1K10

    鹅厂原创 | 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文件中。

    47510
    领券