来了老弟,昨天学习到不知道几点了,一旦沉迷于学习无法自拔啊,接着昨天的事情开始
webpack打包原理入门探究(五)css-loader初探
今天来学习一下 webpack 如何处理 less 样式
你需要安装 一下 less,less-loader
npm install less less-loader --save-dev
我们在 styles/less/common.less
html,body {
height: 100px;
width: 100px;
.layer {
background: red;
}
}
在 src/app.js 引入 src/styles/less/common.less
import './styles/css/common.css'
import './components/layer/layer.scss'
import './styles/less/common.less'
import layer from './components/layer/layer.js'
const App = () => {
console.log("layer==>", layer)
}
new App()
配置一下 webpack.app.config.js
let path = require('path')
let htmlWebpackPlugin = require('html-webpack-plugin')
function resolve(o) {
return path.resolve(__dirname, o)
}
module.exports = {
entry: resolve('src/app.js'), // 指定入口文件
output: {
path: resolve('dist'),
// filename: '[name]-[hash].js'
filename: "js/[name].bundle.js",
// publicPath: ''
},
module: {
rules: [
{
test: /\.js$/,
loader: 'babel-loader',
exclude: resolve('node_modules'), //指定排除的范围,
include: resolve('src')
},
{
test: /\.html$/,
loader: 'html-loader'
},
{
test: /\.css$/,
loader: 'style-loader!css-loader!postcss-loader'
},
{
test: /\.scss$/,
loader: 'style-loader!css-loader!postcss-loader!sass-loader'
},
{
test: /\.less$/,
loader: 'style-loader!css-loader!postcss-loader!less-loader'
}
]
},
plugins: [
new htmlWebpackPlugin({
// filename: "index-[hash].html",
// filename: 'index-[chunkhash].html',
filename: "index.html", // 生成 dist/a.html
template: 'index.html', // 指定根目录下的 index.html
inject: 'body',
})
]
}
我们运行一下 npm run webpack.app
浏览器效果出来了
嗯,这节课就到这里了