webpack ES6 Sass搭建多頁面應用

2022-07-26 05:09:11 字數 3674 閱讀 8725

目的:是為了分享一下使用過程中,用到的外掛程式、loader、遇到的各種問題以及解決辦法,最後會附上最終**。

安裝webpack,這裡不做詳細描述,直接去官網咖

在這個專案中,用webpack打包css、scss、js、檔案、jquery、第三方外掛程式、字型圖示,編譯es6、壓縮html、壓縮js、壓縮css,基本涵蓋了常用的東西。

**結構如下

下面單獨說幾個難點

1、打包多頁面,使用到的外掛程式是html-wepack-plugin,html-loader,也就是你有多少個頁面,就有多少個入口,也就寫多少個模版檔案。當然,頁面過多時,可以考慮遍歷處理。

//

引入路徑外掛程式

const path = require('path');

//引入匯出html外掛程式

const htmlwebpackplugin = require('html-webpack-plugin');

const config =,

//出口

output:,

//

外掛程式plugins: [

//html單獨匯出外掛程式——首頁

newhtmlwebpackplugin(

}),//html單獨匯出外掛程式——列表頁

newhtmlwebpackplugin(

})]

}module.exports = config;

2、單獨打包css,使用到的外掛程式extract-text-webpack-plugin,loader有style-loader、css-loader、sass-loader、node-sass,因為每個頁面要引入相對應的css檔案,所以,在js入口檔案裡通過require('./lawsearchhomepage.scss')引如對應的scss檔案,打包後css檔案會單獨打包,並通過link的形式引入html

//

引入匯出css外掛程式

const extracttextplugin = require('extract-text-webpack-plugin');

//loader)},

,)}//plugins

//將css單獨打包外掛程式

newextracttextplugin(),

3、處理es6,安裝babel、babel-loader@7(因為下面壓縮js,其他版本報錯)、babel-core、babel-preset-es2015(也是為了解決壓縮js報錯)

//

loader

},

4、處理jquery,安裝expose-loader

第一種方法可以通過在js裡require('expose-loader?$!jquery');引入jquery

第二種通過loader

//

loader

,]},

5、壓縮css,使用外掛程式optimize-css-assets-webpack-plugin,安裝cssnano

//

引入壓縮css的外掛程式

const optimizecss = require('optimize-css-assets-webpack-plugin');

//引入cssnano外掛程式

const cssnano = require('cssnano');

//plugins

plugins:[

newoptimizecss( },

canprint:

true

}),

],//

壓縮優化css,不寫這個css還是沒壓縮,不知道為啥

optimization: )]

},

6、壓縮js,一般的情況下,js預設就是壓縮狀態,但是在壓縮完css後,js就不是壓縮的了,所以還是處理一下,編譯更快

用的外掛程式uglifyjs-webpack-plugin

//

引入js壓縮外掛程式

const uglifyjs = require('uglifyjs-webpack-plugin');

//plugins

new uglifyjs()

我的package.json中安裝的外掛程式

"devdependencies":
webpack.config.js裡的**(完整版)

//

引入路徑外掛程式

const path = require('path');

//引入匯出html外掛程式

const htmlwebpackplugin = require('html-webpack-plugin');

//引入清除外掛程式

const cleanwebpackplugin = require('clean-webpack-plugin');

//引入匯出css外掛程式

const extracttextplugin = require('extract-text-webpack-plugin');

//引入webpack

const webpack = require('webpack');

//引入壓縮css的外掛程式

const optimizecss = require('optimize-css-assets-webpack-plugin');

//引入cssnano外掛程式

const cssnano = require('cssnano');

//引入js壓縮外掛程式

const uglifyjs = require('uglifyjs-webpack-plugin');

//webpack配置內容

const config =,

//便於除錯

devtool:'inline-source-map',

//服務

devserver:,

//loader模組

module:

},,]},)

},,)},,

}},//字型圖示]},

//外掛程式

plugins: [

//清空build檔案下的多餘檔案

new cleanwebpackplugin(['build']),

//將css單獨打包外掛程式

newextracttextplugin(),

//html單獨匯出外掛程式——首頁

newhtmlwebpackplugin(

}),//html單獨匯出外掛程式——列表頁

newhtmlwebpackplugin(

}),//壓縮css

newoptimizecss( },

canprint:

true

}),

//壓縮js

newuglifyjs()

],//壓縮優化css

optimization: )]

},//出口

output:

}module.exports = config;

如果在打包過程中報模組沒有定義錯誤,那就再安裝一次,實在不行,直接刪了node_modules檔案,重新npm install一下。

Sublime Text2搭建Sass編輯環境

2.用package control安裝如下外掛程式 sass sass build 3.為了對中文的支援,安裝convert to utf 8外掛程式。同時sublime text2不支援中文編譯路徑,在它的安裝目錄下有乙個檔案sublime plugin.py。新增 reload sys sys...

windows 下搭建安裝 sass

眾所周知,sass 解析需要有 ruby 的支撐,所以,第一步 第二步 安裝 ruby 在安裝 ruby 過程中需要注意的一點 把 ruby 執行檔案新增到 path,勾選這兩項即可 安裝完畢後開啟 cmd,執行 gem v,如果成功列印出版本號,就表示安裝成功了。第三步 安裝 sass 在 cmd...

Angular6 前端搭建

本次開發使用angular6結合ng zorro完成前端的開發。本次組內的前端由我來搭建。本次搭建過程是在前輩的基礎上做的,所以有一些可以復用的功能為本次搭建節省了很多的時間,不過這個學習的過程還是很寶貴的。1 angular開發使用,目前實踐典型專案有itoo pc端 physical pc端。2...