前言
上一篇文章我們講了多頁面js的打包,本篇文章我們繼續scss的打包。
多頁面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中的圖片路徑,跟這個設置有關,編譯完后可以看下編譯后的css中圖片路徑你就明白了。 filename: "[name]/[name].js", //根據入口文件輸出的對應多個文件名 }, 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 ] }
這個url-loader是處理圖片文件的,在應用之前我們要安裝相關依賴
$ npm install --save-dev url-loader file-loader
你會發現limit,這里的規則是:如果圖片size小于10k時把圖片準換成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 }
執行結果webpack-demo welcome webpack demo
準備完畢,下面我們開始打包
$ npm run dev
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/112266.html
前言 上一篇文章我們講了多頁面js的打包,本篇文章我們繼續scss的打包。 多頁面css單獨打包 首先,我們css編寫采用的是sass,所以我們先來安裝sass-loader以及可以用到的依賴 $ npm install sass-loader node-sass css-loader style-loader --save-dev 安裝完loaders,下面在webpack.config.js...
前言 上一篇文章我們講了多頁面js的打包,本篇文章我們繼續scss的打包。 多頁面css單獨打包 首先,我們css編寫采用的是sass,所以我們先來安裝sass-loader以及可以用到的依賴 $ npm install sass-loader node-sass css-loader style-loader --save-dev 安裝完loaders,下面在webpack.config.js...
摘要:例如現在的入門學習手記系列。收到粉絲留言和打賞的喜悅。安裝上一篇入門學習手記一,主要是介紹了的核心概念,是整個學習過程的基礎知識。新生成的類似如下入門學習手記因為生成的內容過多,我直接省略掉了。 showImg(https://segmentfault.com/img/bVbk5Nd?w=1150&h=599); 本人微信公眾號:前端修煉之路,歡迎關注。 最近開始想要維護一個個人的公眾...
摘要:而則可制定個人需求的一套解決方案僅安裝需要的插件。迫不及待的你已經等不及安裝使用了吧。安裝及使用一般是結合自動化工具使用,如果要單獨使用可以安裝,這里我先對的安裝使用講解下。接下來說點實際的,如何利用結合自動化工作在項目中使用。 PostCSS介紹 PostCSS是一個利用JS插件來對CSS進行轉換的工具,這些插件非常強大,強大到無所不能。其中,Autoprefixer就是眾多Post...
閱讀 890·2021-10-25 09:44
閱讀 1260·2021-09-23 11:56
閱讀 1183·2021-09-10 10:50
閱讀 3130·2019-08-30 15:53
閱讀 2132·2019-08-30 13:17
閱讀 616·2019-08-29 18:43
閱讀 2491·2019-08-29 12:57
閱讀 854·2019-08-26 12:20