webpack常用插件复习巩固

1,初始化

  npm init -y
  
  生产package.json文件

2,创建src文件夹

3,创建index.html

   ul>li{这是第$个li}*9

4,npm install jquery -s

发现需要解决js兼容性问题,

import $ from ‘jquery’ 通过发现这种方式导入报错,

5,安装webpack

 1, npm install webpack webpack-cli -D 
 2, 创建webpack.config.js文件
 3, module.exports = {
    mode: "development"
  }
  4,package.json文件中配置scripts命令
   "dev": "webpack"
  5, 运行: npm run dev

6,webpack 默认约定

打包入口文件: src->index.js

打包出口文件: dist-> main.js

7,webpack 自动打包功能

  1, npm install webpack-dev-server -D
  2, 修改package.json -> scripts中的dev命令
    "scripts" {
      "dev": "webpack-dev-server"
    }
  3, 将src -> index.html中的srcipt脚步引用路径修改为"/bundle.js"
  4, 再次执行运行 npm run dev 

注意

webpack-dev-server 会启动一个实时打包的http 服务器

webpack-dev-server

打包生产的输出文件,默认放到了项目根目录中,而且是虚拟的,看不见的

8,webpack 配置html-webpack-plugin 生产预览页面

1, npm install html-webpack-plugin -D

2, 修改webpack.config.js文件头部区域,配置下面信息

// 导入生产预览页面的插件,得到一个构造函数
const HtmlWebpackPlugin = require('html-webpack-plugin')
const htmlPlugin = new HtmlWebpackPlugin({
  template: './src/index.html', // 指定要用到的模版
  filename: 'index.html // 指定生成文件的名称
})

3, 修改 webpack.config.js 文件
module.exports = {
plugins: [htmlplugin]
}

9,webpack 配置自动打包参数

package.json中配置, open, host, port

"scripts" {
  "dev": "webpack-dev-server --open --host 127.0.0.1 --port 8888"
}

10,打包处理css文件

1, npm install style-loader css-loader -D 处理css文件的loader

2, 在webpack.config.js中添加配置loader

  module: {
    rules: [
      {test: /\.css$/, use:['style-loader','css-loader']}
    ]
  }
 ****注意****
use数组中指定的loader顺序固定的
多个loader 的调用顺序:从后往前调用

11,打包处理less,scss文件

   npm install less-loader -D
   
       {test: /\.less$/, use:['style-loader','css-loader','less-loader']}
   npm install sass-loader node-sass -D
       {test: /\.scss$/, use:['style-loader','css-loader','scss-loader']}

注意
可能会报错:Error: Cannot find module ‘less’
解决: npm install less -D

12,配置postCSS 自动添加css的兼容性前缀

  1,  npm install postcss-loader autoprefixer -D 
  2, 在项目中创建postcss的配置文件postcss.config.js 并初始化配置
     const autoperfixer = require('autoprefixer') // 导入自动添加前缀的插件
     module.exports = {
       plugins: [autoperfixer]
     }
  3, 在webpack.config.j的module->rules中,新增一个loader
     module: {
       rules: [
       {test: /\.css$/, use:['style-loader','css-loader','postcss-loader']}
       ]
     }

13,打包样式表中的图片和字体文件

   1, 运行 npm install url-loader file-loader -D 文件
   2, 在 webpack.config.js 的module->rules添加 loader规则
     module: {
       rules: [
         {test: /\.jpg|png|gif|bmp|ttf|eot|svg|woff|woff2$/,
         use: 'url-loader?limit=16940'}
       ]
     }
    注意:?limit是对图片的大小做了限制

14,webpack 打包处理JS文件中的高级语法

   1,安装babel转换器相关的包  
      npm install babel-loader @babel/core @babel/runtime -D
   2, 安装babel语法插件相关的包
      npm install @babel/preset-env @babel/plugin-transform-runtime @babel/plugin-proposal-class-properties -D
   3, 在项目中创建babel-config.js,并初始化配置
      module.exports = {
        presets: ['@babel/preset-env'],
        plugins: ['@babel/plugin-transform-runtime', '@babel/plugin-proposal-class-properties']
      }
    4, 在webpack.config.js中新增一个loader规则
     {test: /\.js$/,use: 'babel-loader', exclude: /node_modules/}
    注意: 必须要有exclude这一项, 因为node_modules的js是第三方插件,不要babel-loader再次处理
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值