webpack 打包 css、less
安装相关插件
yarn add css-loader -D
yarn add style-loader -D
yarn add less less-loader -D
webpack.config.js添加modle配置
let path = require('path');
let HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports= {
mode:'development',//production development
entry:'./src/index.js',//入口
output:{
filename:'bundle.[hash:8].js',//打包后的文件名
path:path.resolve(__dirname,'dist')
},
devServer:{
port:8090,
progress:true,
contentBase:'./dist'
},
plugins:[
new HtmlWebpackPlugin({
template:'./src/index.html',
filename:'index.html',
minify:{removeAttributeQuotes:true,//删除属性双引号
collapseWhitespace:true,//html折叠一行
minifyJS: true,//压缩HTML中JS
minifyCSS: true//压缩HTML中CSS
},
hash:true//生成hash戳
})
],
module: {
rules: [ // 定义css规则,use从下往上顺序执行
{
test: /\.css$/, // 正则匹配要识别的css
use: [
{
loader: 'style-loader' // 使用style-loader进行处理,位置必须在css-loader前面
},
{
loader: 'css-loader' // 使用css-loader进行处理
}
]
//use:['style-loader','css-loader'] // 此处也可以这样写
},
{
test:/\.less$/,
use: [
{
loader: 'style-loader' // 使用style-loader进行处理,位置必须在css-loader前面
},
{
loader: 'css-loader' // 使用css-loader进行处理
},
{
loader: 'less-loader' //less ——> css
}
]
}
]
}
}
./css/base.css
html{
background-image:url('http://www.superstr.work/resource/jogging.jpg');background-size:cover;
}
创建app.js,import css
import './css/base.css';
hello.less
body {
div {
border: 1px solid red;
}
}
index.js
import './app.js';//require('./app.js');
import './hello.less';//require('./hello.less')
let str = require('./a.js');
console.log('hello');
console.log(str);
index.html
<html>
<head>
</head>
<body></body>
</html>
npx webpack
npx webpack-dev-server
访问 localhost:8090/index.html