在 src/assets/ 下新建 common.less :css
body{ background: #fafafa; padding: 20px; }
在 main.js 中引入 common.less :html
import './assets/style/common.less'
安裝 less-loader:webpack
npm i less-loader -D
添加 rules:web
{ test: /\.less$/, use: [ 'style-loader', 'css-loader', 'less-loader' ] }
打包以後,在瀏覽器打開 dist/index.html,less文件中的樣式已經經過 style 標籤載入了:npm
咱們以前的樣式代碼都是經過 style 標籤載入的,那麼如何經過 link 引入CSS文件的方式實現呢?瀏覽器
這就須要使用一個插件,在webpack3中一般使用ExtractTextWebpackPlugin,可是在webpack4中已經再也不支持ExtractTextWebpackPlugin的正式版,而測試版本又不夠穩定,所以咱們使用MiniCssExtractPlugin替代。首先安裝:less
npm install --save-dev mini-css-extract-plugin
在webpack.config.js 中引入並添加 plugins :post
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
new MiniCssExtractPlugin({ filename: "[name].css" }),
修改 CSS 和 less 的 rules:測試
{ test: /.css$/, use: [ // 'style-loader', { loader: MiniCssExtractPlugin.loader }, 'css-loader' ] }, { test: /.less$/, use: [ // 'style-loader', { loader: MiniCssExtractPlugin.loader }, 'css-loader', 'less-loader' ] }
npm run build 以後,可見head中引入了一個 main.css 文件:flex
也正是咱們在 common.less 和 modal.css 中的代碼
postcss-loader 能夠幫助咱們處理CSS,如自動添加瀏覽器前綴。
npm i -D postcss-loader autoprefixer
在根目錄下建立 postcss.config.js:
const autoprefixer = require('autoprefixer') module.exports = { plugins: [ autoprefixer({ browsers: ['last 5 version'] }) ] }
修改 css 和 less 的 rules:
{ test: /\.css$/, use: [ // 'style-loader', { loader: MiniCssExtractPlugin.loader }, { loader: 'css-loader', options: { importLoaders: 1 } }, 'postcss-loader' ] }, { test: /\.less$/, use: [ // 'style-loader', { loader: MiniCssExtractPlugin.loader }, 'css-loader', 'postcss-loader', 'less-loader' ] }
在 modal.css中加入:
.flex{ display: flex; }
打包以後打開 main.css,可見瀏覽器前綴已經加上了: