国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

詳解webpack分離css單獨(dú)打包

2024-05-06 16:37:55
字體:
供稿:網(wǎng)友

這篇文章只寫了如何把CSS打包成一個(gè)CSS文件,沒有講解如何打包成多個(gè)CSS文件,經(jīng)簡友提點(diǎn),這里添加上了 打包成多個(gè)CSS文件的方法。

瞎扯

webpack 把所有的資源都當(dāng)成了一個(gè)模塊, CSS,Image, JS 字體文件 都是資源, 都可以打包到一個(gè) bundle.js 文件中.

但是有時(shí)候需要把樣式 單獨(dú)的打包成一個(gè)文件, 然后放到 CND上, 然后緩存到瀏覽器客戶端中

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

這個(gè)操作很簡單的,只需要一個(gè)插件就好了,就是extract-text-webpack-plugin

1. 安裝extract-text-webpack-plugin

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

2. 配置文件添加對應(yīng)配置

首先require一下

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

plugins里面添加

new ExtractTextPlugin("styles.css"),

實(shí)例:

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

modules里面對css的處理修改為

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

千萬不要重復(fù)了,不然會(huì)不起作用的

我這里如下:

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打包成一個(gè)文件, 和 把CSS打包成多個(gè)文件

打包一個(gè)文件,只需要常規(guī)的在入口的js文件引用 css文件即可, 打包成多個(gè)CSS文件,可以設(shè)置多個(gè)CSS入口,讓webpack用 loader去打包。 和分割單獨(dú)打包js文件一樣。下面有兩個(gè)例子。

// 使用webpack 打包單獨(dú)的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 打包單獨(dú)的多個(gè)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') ]}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 汶上县| 宜阳县| 佛坪县| 康马县| 桦甸市| 津南区| 遵义市| 金山区| 伊金霍洛旗| 邯郸县| 华阴市| 上饶县| 奈曼旗| 大同县| 永靖县| 阜康市| 错那县| 云梦县| 灵丘县| 大埔县| 涞源县| 利津县| 玉屏| 肥东县| 大竹县| 河北区| 永嘉县| 南昌市| 北安市| 长乐市| 长春市| 澳门| 彰武县| 简阳市| 大姚县| 凌海市| 焦作市| 郧西县| 泸州市| 顺平县| 石柱|