前言
上一篇文章我們講了多頁(yè)面js的打包,本篇文章我們繼續(xù)scss的打包。
多頁(yè)面css多帶帶打包$ npm install sass-loader node-sass css-loader style-loader --save-dev
安裝完loaders,下面在webpack.config.js中加入如下代碼
rules: [ { test: /.scss$/, use: extractPlugin.extract({ fallback: "style-loader", use: [{ loader: "css-loader" }, { loader: "sass-loader", options: { includePaths:[__dirname+"/src/css/app",__dirname+"/src/css/base"] } }] }) } ]
$ npm install --save-dev extract-text-webpack-plugin
在webpack.config.js中引用
const path = require("path") const webpack = require("webpack") //to access built-in plugins const fs = require("fs") const extractPlugin = require("extract-text-webpack-plugin") function getEntry() { let jsPath = path.resolve(__dirname, "src/js/app") let dirs = fs.readdirSync(jsPath) let matchs = [], files = {} dirs.forEach(function (item) { matchs = item.match(/(.+).js$/); if (matchs) { files[matchs[1]] = path.resolve(__dirname, "src/js/app", item) } }) return files } const extractSass = new extractPlugin({ filename: "[name]/[name].css" }) module.exports = { entry: getEntry(), output: { path: path.join(__dirname, "src/dist/"), //文件輸出目錄 publicPath: "http://www.workspace.com/webpack-demo/src/dist/", //此處要特別注意,比較明顯的是css中的圖片路徑,跟這個(gè)設(shè)置有關(guān),編譯完后可以看下編譯后的css中圖片路徑你就明白了。 filename: "[name]/[name].js", //根據(jù)入口文件輸出的對(duì)應(yīng)多個(gè)文件名 }, module: { loaders: [ { test: /.js/, loader: "babel-loader", include: __dirname + "/src/js" } ], rules: [ { test: /.scss$/, use: extractPlugin.extract({ fallback: "style-loader", //resolve-url-loader may be chained before sass-loader if necessary use: [{ loader: "css-loader" }, { loader: "sass-loader", options: { includePaths: [__dirname+"/src/css/app",__dirname+"/src/css/base"] } }] }) }, { test: /.(png|gif|jpe?g|svg)$/, loader: "url-loader", query: { limit: 10000 } } ] }, plugins: [ //js文件的壓縮 new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false } }), extractSass ] }
這個(gè)url-loader是處理圖片文件的,在應(yīng)用之前我們要安裝相關(guān)依賴
$ npm install --save-dev url-loader file-loader
你會(huì)發(fā)現(xiàn)limit,這里的規(guī)則是:如果圖片size小于10k時(shí)把圖片準(zhǔn)換成base64嵌入到url中
@import "../base/base.scss"; $base-font-size: 72; $base-color:#F5A623; body{ color:$base-color; } .logo{ background-image: url("../../asset/logo.jpeg"); } .error{ background-image: url("../../asset/404.png"); }
import Header from "../module/header" import "../../css/app/index.scss" window.onload = function(){ document.querySelector(".main").innerHTML += Header.html }
執(zhí)行結(jié)果webpack-demo welcome webpack demo
準(zhǔn)備完畢,下面我們開始打包
$ npm run dev
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/84074.html
前言 上一篇文章我們講了多頁(yè)面js的打包,本篇文章我們繼續(xù)scss的打包。 多頁(yè)面css單獨(dú)打包 首先,我們css編寫采用的是sass,所以我們先來安裝sass-loader以及可以用到的依賴 $ npm install sass-loader node-sass css-loader style-loader --save-dev 安裝完loaders,下面在webpack.config.js...
前言 上一篇文章我們講了多頁(yè)面js的打包,本篇文章我們繼續(xù)scss的打包。 多頁(yè)面css單獨(dú)打包 首先,我們css編寫采用的是sass,所以我們先來安裝sass-loader以及可以用到的依賴 $ npm install sass-loader node-sass css-loader style-loader --save-dev 安裝完loaders,下面在webpack.config.js...
摘要:例如現(xiàn)在的入門學(xué)習(xí)手記系列。收到粉絲留言和打賞的喜悅。安裝上一篇入門學(xué)習(xí)手記一,主要是介紹了的核心概念,是整個(gè)學(xué)習(xí)過程的基礎(chǔ)知識(shí)。新生成的類似如下入門學(xué)習(xí)手記因?yàn)樯傻膬?nèi)容過多,我直接省略掉了。 showImg(https://segmentfault.com/img/bVbk5Nd?w=1150&h=599); 本人微信公眾號(hào):前端修煉之路,歡迎關(guān)注。 最近開始想要維護(hù)一個(gè)個(gè)人的公眾...
摘要:而則可制定個(gè)人需求的一套解決方案僅安裝需要的插件。迫不及待的你已經(jīng)等不及安裝使用了吧。安裝及使用一般是結(jié)合自動(dòng)化工具使用,如果要單獨(dú)使用可以安裝,這里我先對(duì)的安裝使用講解下。接下來說點(diǎn)實(shí)際的,如何利用結(jié)合自動(dòng)化工作在項(xiàng)目中使用。 PostCSS介紹 PostCSS是一個(gè)利用JS插件來對(duì)CSS進(jìn)行轉(zhuǎn)換的工具,這些插件非常強(qiáng)大,強(qiáng)大到無所不能。其中,Autoprefixer就是眾多Post...
閱讀 1387·2021-11-24 09:38
閱讀 2088·2021-09-22 15:17
閱讀 2348·2021-09-04 16:41
閱讀 3475·2019-08-30 15:56
閱讀 3515·2019-08-29 17:19
閱讀 1943·2019-08-28 18:09
閱讀 1252·2019-08-26 13:35
閱讀 1714·2019-08-23 17:52