Webpack的基本使用(不用脚手架)

本文介绍了Webpack的基础作用、安装与版本管理,详细讲解了打包流程,包括npm run build与全局webpack的区别。还涵盖了CSS和LESS处理,通过loader实现不同格式文件的转换。适合开发者深入理解Webpack的工作原理。
摘要由CSDN通过智能技术生成

一、webpack的作用

webpack可以帮助我们进行模块化,并且处理模块间的各种复杂关系。就是将各种资源模块进行打包合并成一个或多个包(Bundle)

二、webpack的安装

//全局安装
npm install webpack webpack-cli -g
//查看版本
webpack -v

三、打包

// webpack 和 npm run build 的区别
// webpack 无论再哪个终端输入,使用的都是全局下的 webpack 版本
// npm run build 会优先选择本地的 webpack  这里用开发依赖
 本地安装—开发依赖:npm install webpack@3.6.0 --save-dev (-D)  √
 本地安装—运行依赖:npm install webpack@3.6.0 --save (-S)
  1. 根目录下输入 npm init -y 生成 package.json 文件
  2. 修改 package.json ,scripts 对象里加入 "build":"webpack"
  3. 编写webpack.config.js 文件
//导入path模块
const path = require("path");

//JS打包规则
module.exports = {
    entry: './src/main.js', //入口文件    
    output: {
        path: path.resolve(__dirname, './dist'), //指令输出路径,__dirname是一个常量表示当前文件所在路径        
        filename: 'bundle.js' //输出的文件名称    
    }
}
  1. 开始打包
    优先使用本地版本在开发环境构建一次 npm run build
    使用全局版本在开发环境构建一次 webpack
    构建并生成源代码映射文件 webpack -d
    在生成环境构建,压缩、混淆代码,并移除无用代码 webpack -p
    快速增量构建,可以和其他选项一起使用 webpack –watch
    progress 显示打包过程中的进度,colors打包信息带有颜色显示 webpack –progress –colors

四、CSS文件的处理

webpack 本身只能处理 js 文件,而无法处理其他格式的文件,这就需要 loader 来帮忙转化
1.安装相关loader npm install --save-dev style-loader css-loader
2.在 webpack.config.js 中的 modules 下进行配置

//导入path模块
const path = require("path");

//JS打包规则
module.exports = {
    entry: './src/main.js', //入口文件    
    output: {
        path: path.resolve(__dirname, './dist'), //指令输出路径,__dirname是一个常量表示当前文件所在路径        
        filename: 'bundle.js' //输出文件的名称    
    },
    module: {
        rules:[{
            test:/\.css$/,  //把项目中所有.css结尾的文件进行打包
            use:["style-loader","css-loader"] //顺序很重要! 不能改变顺序  这里是从右向左读
        }]
    }
}

五、less的处理

1.安装相关loader npm install less-loader --save-dev
2.在 webpack.config.js 中的 modules 下进行配置

//导入path模块
const path = require("path");

//JS打包规则
module.exports = {
    entry: './src/main.js', //入口文件    
    output: {
        path: path.resolve(__dirname, './dist'), //指令输出路径,__dirname是一个常量表示当前文件所在路径        
        filename: 'bundle.js' //输出文件的名称    
    },
    module: {
        rules:[{
            test:/\.css$/,  //把项目中所有.css结尾的文件进行打包
            use:["style-loader","css-loader"] //顺序很重要! 不能改变顺序  这里是从右向左读
        },
        {
            test:/\.less$/,  
            use:[{
                loader:"style-loader"
                },{
                loader:"css-loader"
                },{
                loader:"less-loader"
                }] 
        }]
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值