打包和分离less
安装less的服务
npm install –save-dev less
安装less-loader打包使用
npm install –save-dev less-loader
配置loader:
{ test: /\.less$/, use: [{ loader: "style-loader" // creates style nodes from JS strings }, { loader: "css-loader" // translates CSS into CommonJS , { loader: "less-loader" // compiles Less to CSS }] }
src/index.html中插入
<div id="lessLearn"></div> <div><img src="./images/10.jpg"/></div> <div id="pic"></div> <div id="title"></div>
编写一个src/css/目录下black.less文件
@base:#000; #lessLearn{ width:300px; height:200px; background-color:@base; }
- 在src/entry.js中引入less
import less from ‘./css/black.less’
- 删除dist目录,输入webpack进行打包,打包成功后,查看dist/css/index.css里面并没有#lessLearn样式(==打包到了js里面==)
- npm run server运行结果
- 可以在package.json里面的script里面的server中加入–open,浏览器会自行打开该页面
“server”: “webpack-dev-server –open”,
- 可以在package.json里面的script里面的server中加入–open,浏览器会自行打开该页面
若要对entry里面的js和less进行分离,需要修改webpack-config.js里面的module下less配置的use进行修改
- 修改如下:
use:extractTextPlugin.extract({ use:[{ loader:'css-loader' },{ loader:'less-loader' }], fallback:'style-loader' })
- 删除dist文件夹,webpack打包,会在dist/css/index.css里面看到less的样式定义(即把css和js分离)
- npm run build 运行浏览器