Webpack之html,css,js

在打包css之前,需要知道module有什么作用,还有loader。

module 主要是用来配置不同的加载器,而加载器是用于不同的文件。

loader 主要用于将不同的文件都转换成js文件,如css,ES6等。

所有的Loaders都需要在npm中单独进行安装,并在webpack.config.js里进行配置。

  • test:匹配处理文件的扩展名的正则表达式
  • use:loader名称,就是你要使用模块的名称
  • include/exclude:手动指定必须处理的文件夹或屏蔽不需要处理的文件夹
  • query:为loaders提供额外的设置选项

打包css文件

建立index.css文件

src/css/index.css

body{
    background-color: red;
    color: white;
}

CSS文件建立好后,需要引入到入口文件中,才可以打包到,这里我们引入到entry.js中。

/src/entery.js中在首行加入代码:

import './css/index.css';

配置loader

解析css的loader需要style-loader和css-loader

npm install style-loader css-loader --save-dev

style-loader:用于处理css中url等
css-loader: 用于将css插入到页面的style标签

module属性中的配置

module: {
    rules: [
      {
        test: /\.css$/,
        use: ['style-loader','css-loader'],
        include: path.join(__dirname,'./src'),
        exclude: /node_modules/
      }
    ]
  }

注意顺序很重要,即先用style-loader解析,然用css-loader添加到style标签中

配置js压缩

js压缩就需要用到plugins

webpack4.x的production模式默认压缩,不需要配置。

其他版本
webpack默认集成uglifyjs-webpack-plugin,所以只需要引入就好了。

const uglify = require('uglifyjs-webpack-plugin');

在插件配置中添加

plugins:[
        new uglify()
    ],

只能在生产环境中使用,开发环境会报错

自动发布html

前面的index.html是手动添加,需要自动生成,添加资源。

npm install --save-dev html-webpack-plugin

在配置文件中

const htmlPlugin= require('html-webpack-plugin');

plugins: [
    new HtmlWebpackPlugin({
        template: './src/index.html',   // 指定产出的模板
        filename: 'base.html',          // 产出的文件名
        chunks: ['entry1','entry2'],     // 在产出的HTML文件里引入哪些代码块
        hash: true,                     // 名称是否哈希值
        title: 'base',                  // 可以给模板设置变量名,在html模板中调用 htmlWebpackPlugin.options.title 可以使用
        minify: {                       // 对html文件进行压缩
            removeAttributeQuotes: true // 移除双引号
        }
    })
]

转载于:https://www.cnblogs.com/jadedoo/p/10188026.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值