全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解webpack分离css单独打包

这篇文章只写了如何把CSS打包成一个CSS文件,没有讲解如何打包成多个CSS文件,经简友提点,这里添加上了 打包成多个CSS文件的方法。

瞎扯

webpack 把所有的资源都当成了一个模块, CSS,Image, JS 字体文件 都是资源, 都可以打包到一个 bundle.js 文件中.

但是有时候需要把样式 单独的打包成一个文件, 然后放到 CND上, 然后缓存到浏览器客户端中

一、extract-text-webpack-plugin 使用方法

这个操作很简单的,只需要一个插件就好了,就是extract-text-webpack-plugin

1. 安装extract-text-webpack-plugin

npm install extract-text-webpack-plugin --save-dev

2. 配置文件添加对应配置

首先require一下

var ExtractTextPlugin = require("extract-text-webpack-plugin");

plugins里面添加

new ExtractTextPlugin("styles.css"),

实例:

plugins: [
  new webpack.optimize.CommonsChunkPlugin('common.js'),
  new ExtractTextPlugin("styles.css"), 
],

modules里面对css的处理修改为

{
 test: /\.css$/,
  loader: ExtractTextPlugin.extract("style-loader","css-loader")
},

千万不要重复了,不然会不起作用的

我这里如下:

module: {
  loaders: [
   {
   test: /\.css$/,
    loader: ExtractTextPlugin.extract("style-loader","css-loader")
  },
   {
   test: /\.scss$/,
    loader: "style!css!sass"
  },
   {
   test: /\.less$/,
    loader: "style!css!less"
  },
 ]
},

3. 在引入文件里面添加需要的css,【举例如下】

require('../less/app.less');
require('./bower_components/bootstrap-select/dist/css/bootstrap-select.min.css');
require('./bower_components/fancybox/source/jquery.fancybox.css');

二、如何把CSS打包成一个文件, 和 把CSS打包成多个文件

打包一个文件,只需要常规的在入口的js文件引用 css文件即可, 打包成多个CSS文件,可以设置多个CSS入口,让webpack用 loader去打包。 和分割单独打包js文件一样。下面有两个例子。

// 使用webpack 打包单独的postcss语法的css文件
/* webpack.config.js */
var precss = require('precss');
var cssnext = require('cssnext');
var autoprefixer = require('autoprefixer');
var cssnano = require('cssnano');
var Ex = require('extract-text-webpack-plugin');
module.exports = {
 entry: './【path】/index.js',
 /* index.js 里 require('./【name】.css');就好 我在看看文档是不是直接不用引入js文件 */
 output: {
  filename: 'index.js'
 },
 module: {
  loaders: [{
  test: /\.css$/,
  loader: Ex.extract('style-loader', 'css-loader!postcss-loader') /*这里的写法注意下 */
  }]
 },
 postcss: function() {
  return [autoprefixer, cssnext, precss, cssnano]
 },
 plugins: [
  new Ex("【name】.css")
 ]
 }

 // 使用webpack 打包单独的多个postcss语法的css文件
var precss = require('precss');
var cssnext = require('cssnext');
var autoprefixer = require('autoprefixer');
var cssnano = require('cssnano');
var Ex = require('extract-text-webpack-plugin');
var webpack = require('webpack');


module.exports = {
 entry: {
 ac1: './src/actother.css',
 ac2: './src/index.css'
 },
 output: {
 filename: "[name].css"
 },
 module: {
 loaders: [{
  test: /\.css$/,
  loader: Ex.extract('style-loader', 'css-loader!postcss-loader')
 }]
 },
 postcss: function() {
 return [autoprefixer, precss, cssnano, cssnext]
 },
 plugins: [
 new Ex('[name].css')
 ]
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# webpack  # css  # 独立打包  # 分离css  # webpack2分离css  # webpack打包js的方法  # webpack独立打包和缓存处理详解  # 浅谈webpack打包之后的文件过大的解决方法  # Webpack打包详细流程及代码  # 多个  # 只需要  # 都是  # 我在  # 成了  # 上了  # 就好  # 提点  # 很简单  # 写了  # 千万不要  # 这篇文章  # 配置文件  # 大家多多  # 客户端  # 不起作用  # 就好了  # 文档  # 有两个  # output 


相关文章: 建站之星×万网:智能建站系统+自助建站平台一键生成  家庭服务器如何搭建个人网站?  建站之星在线客服如何快速接入解答?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  定制建站策划方案_专业建站与网站建设方案一站式指南  如何在阿里云购买域名并搭建网站?  如何在Windows环境下新建FTP站点并设置权限?  江苏网站制作公司有哪些,江苏书法考级官方网站?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  手机网站制作与建设方案,手机网站如何建设?  英语简历制作免费网站推荐,如何将简历翻译成英文?  中山网站制作网页,中山新生登记系统登记流程?  建站之星备案是否影响网站上线时间?  如何快速搭建自助建站会员专属系统?  如何获取PHP WAP自助建站系统源码?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  营销式网站制作方案,销售哪个网站招聘效果最好?  定制建站价位费用解析与套餐推荐全攻略  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  如何在阿里云部署织梦网站?  香港服务器租用费用高吗?如何避免常见误区?  建站之星与建站宝盒如何选择最佳方案?  如何通过二级域名建站提升品牌影响力?  高性价比服务器租赁——企业级配置与24小时运维服务  如何在七牛云存储上搭建网站并设置自定义域名?  建站之家VIP精选网站模板与SEO优化教程整合指南  如何通过VPS建站无需域名直接访问?  如何通过FTP服务器快速搭建网站?  如何零成本快速生成个人自助网站?  宁波免费建站如何选择可靠模板与平台?  如何访问已购建站主机并解决登录问题?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何快速生成凡客建站的专业级图册?  如何通过虚拟主机空间快速建站?  建站之星安装后界面空白如何解决?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  免费视频制作网站,更新又快又好的免费电影网站?  建站之星导航菜单设置与功能模块配置全攻略  如何在万网主机上快速搭建网站?  建站之星免费模板:自助建站系统与智能响应式一键生成  高防服务器:AI智能防御DDoS攻击与数据安全保障  佛山企业网站制作公司有哪些,沟通100网上服务官网?  制作旅游网站html,怎样注册旅游网站?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  制作国外网站的软件,国外有哪些比较优质的网站推荐?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  如何快速搭建FTP站点实现文件共享? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。