码迷,mamicode.com
首页 > Web开发 > 详细

webpack编译打包基本配置

时间:2020-06-04 20:03:24      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:安装   必须   配置   jquery   资源   output   put   指令   模块化   

webpack 是一种前端资源构建工具,一个静态模块打包器(module bundler)。在webpack 看来, 前端的所有资源文件(js/json/css/img/less/...)都会作为模块处理。

它将根据模块的依赖关系进行静态分析,打包生成对应的静态资源(bundle)。

当在 index.html 中引入 index.less 文件和 index.js 文件时,浏览器并不能解析

技术图片

技术图片

less 文件需要编译成 css ,才能被浏览器识别,通过 import 语法引入的 jQuery 也不能被浏览器识别

index.js

技术图片

 index.less

技术图片

 因此,webpack 可以把这些都处理为浏览器能够识别的,

 webpack 能够编译打包 js 和 json文件,能够将 es6 的模块话语法转换成浏览器能识别的语法,能压缩代码

index.js 入口文件中,加载相应的文件:

技术图片

 然后,初始化 package.json , npm init -y

下载并安装 webpack :本地安装 npm install webpack webpack-cli -D

创建文件 webpack.config.js,webpack 的配置文件,当运行 npx webpack 指令时,会加载里面的配置,配置内容:

// resolve用来拼接绝对路径的方法
const { resolve } = require(‘path‘);

module.exports = {   //所有构建工具都是基于nodejs平台运行的~模块化默认采用commonjs
    entry: ‘./src/index.js‘,    // 入口起点
    output: {     // 输出
        filename: ‘bundle.js‘,     // 输出文件名
        path: resolve(__dirname, ‘build‘)    // 输出路径 , __dirname nodejs的变量,代表当前文件的目录绝对路径
    },
    module: {    // loader的配置 , 不同文件必须配置不同loader处理
        rules: [
            {
                test: /\.css$/,    // 匹配哪些文件
                use: [         // 使用哪些loader进行处理, use数组中loader执行顺序:从右到左,从下到上 依次执行
                    ‘style-loader‘,  //创建style标签,将js中的样式资源插入进行,添加到head中生效
                    ‘css-loader‘      // 将css文件变成commonjs模块加载js中,里面内容是样式字符串
                ]
            },
            {
                test: /\.less$/,
                use: [
                    ‘style-loader‘,
                    ‘css-loader‘,
                    ‘less-loader‘  // 将less文件编译成css文件 , 需要下载 less-loader和less
                ]
            }
        ]
    },
    mode: ‘development‘, // 开发模式
}

运行指令:npx webpack 

这样,就将 index.js 及其依赖项都打包成一个 bundle.js 文件

技术图片

 在 index.html 文件中引入 bundle.js,浏览器成功识别了

webpack 根据 index.js 找到所有的依赖项,

将 index.less,先通过 less-loader 将 less 文件编译成 css文件,接着通过 css-loader 将 css文件变成 CommonJS 模块加载到 js中,里面内容是样式字符串,最后使用 style-loader ,创建 style  标签,将 js 中的样式资源插入进去,添加到 head 中生效,

同时 也将 es6 模块化语法加载的 jQuery,也处理为浏览器能够识别的语法

技术图片

 

webpack编译打包基本配置

标签:安装   必须   配置   jquery   资源   output   put   指令   模块化   

原文地址:https://www.cnblogs.com/shanlu0000/p/13045398.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!