使用less須要安裝 'style-loader','css-loader','less-loader' 三個loader。css
安裝以後在webpack.config.js配置html
const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const CleanWebpackPlugin = require('clean-webpack-plugin'); module.exports = { entry: {//入口文件 app: './src/index.js' }, devtool: 'inline-source-map', devServer: { contentBase: './dist' }, plugins:[ new CleanWebpackPlugin(['dist']), new HtmlWebpackPlugin({ title: 'Output Management' }), ], output: {//輸出文件 filename: '[name].bundle.js', path: path.resolve(__dirname, 'dist'), publicPath: '/' }, module: { rules: [ { test: /\.(png|svg|jpg|gif)$/, use: [ 'file-loader' ] }, { test: /\.(less|css)$/, use: [ 'style-loader', 'css-loader', 'less-loader' ] }, ] } };
執行命令,這個時候會發現樣式寫在頁面<head>標籤的裏面。webpack
若是樣式少,這樣看着還能夠,可是多的話,仍是外鏈的方式比較好,因此咱們用 extract-text-webpack-plugin 來進行處理,先安裝,接着繼續修改配置。web
const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const CleanWebpackPlugin = require('clean-webpack-plugin'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); module.exports = { entry: {//入口文件 app: './src/index.js' }, devtool: 'inline-source-map', devServer: { contentBase: './dist' }, plugins:[ new CleanWebpackPlugin(['dist']), new HtmlWebpackPlugin({ title: 'Output Management' }), new ExtractTextPlugin({ filename: 'index.css', disable: false, allChunks: true, }), ], output: {//輸出文件 filename: '[name].bundle.js', path: path.resolve(__dirname, 'dist'), publicPath: '/' }, module: { rules: [ { test: /\.(png|svg|jpg|gif)$/, use: [ 'file-loader' ] }, { test: /\.(less|css)$/, use: ExtractTextPlugin.extract({ use:[ 'css-loader','less-loader'], fallback: 'style-loader', }), }, ] } };
這時候執行命令結束以後,就會達到咱們想要的結果。app