webpack打包发布~

1、安装webpack(局部安装webpack)。

javascript 复制代码
npm i webpack webpack-cli -D

2、安装成功之后,你会在package.json文件中看到这个。

3、新建webpack.config.js文件,里面写配置编译模式,入口出口等(这里演示的是单入口打包)

javascript 复制代码
// 导入node.js中专门操作路径的模块
const path = require('path');
module.exports={
    // 编译模式:开发阶段(production上线模式)
    mode:'development',
    // 入口
    // __dirname:表示项目所在目录的根路径。
    entry: path.resolve(__dirname, 'src/index.js'),    
    // 出口
    output: {        
        path: path.resolve(__dirname, 'dist'),
        // 输出文件名称     
        filename: 'bundle.js',  
        // publicPath:指定基础路径,开发环境一般是项目的根路径,上线之后一般是CDN的路径。      
        publicPath: './'    
    }
}

4、在package.js中配置打包命令。(不加 --mode development,默认打包是生产环境,打包出来的代码会默认压缩)

javascript 复制代码
"build": "webpack --mode development",

5、打包成功。此时你的项目中会多出一个dist文件。里面是打包好的js文件。

6、最后需要了解webpack支持配置多入口及多出口文件。并且webpack默认只能打包处理.js结尾的模块。所以正对非.js文件,比如css,less等文件需要安装对应的loader并配置loader规则。

6.1打包处理css文件。

安装css的loader。

javascript 复制代码
npm i style-loader css-loader -D

在webpack.config.js文件中配置loader规则:

javascript 复制代码
// 导入node.js中专门操作路径的模块
const path = require('path');
module.exports={
    // 编译模式:开发阶段(production上线模式)
    mode:'development',
    // 入口
    // __dirname:表示项目所在目录的根路径。
    entry: path.resolve(__dirname, 'src/index.js'),    
    // 出口
    output: {        
        path: path.resolve(__dirname, 'dist'),
        // 输出文件名称     
        filename: 'bundle.js',  
        // publicPath:指定基础路径,开发环境一般是项目的根路径,上线之后一般是CDN的路径。      
        publicPath: './'    
    },
    // 配置loader规则
    rules:[
        // 配置css文件的loader规则
        {test:/\.css$/,use:['style-loader','css-loader']},
        // 配置less文件的loader规则
        {test:/\.less$/,use:['style-loader','css-loader','less-loader']}
    ]
}

7、针对高级js语言兼容低版本浏览器,需要安装babel。

相关推荐
发现一只大呆瓜3 分钟前
Vite凭什么这么快?3分钟带你彻底搞懂 Vite 热更新的幕后黑手
前端·面试·vite
Maimai1080815 分钟前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
kyriewen2 小时前
产品经理把PRD写成“天书”,我用AI半小时重写了一遍,他当场愣住
前端·ai编程·cursor
humcomm2 小时前
元框架的工作原理详解
前端·前端框架
canonical_entropy3 小时前
Attractor Before Harness: AI 大规模开发的方法论
前端·aigc·ai编程
zhangxingchao3 小时前
多 Agent 架构到底怎么选?从 Claude Agent Teams、Cognition/Devin 到工程落地原则
前端·人工智能·后端
IT_陈寒3 小时前
SpringBoot那个自动配置的坑,害我排查到凌晨三点
前端·人工智能·后端
Honor丶Onlyou3 小时前
VS Code 右键菜单修复记录
前端
PILIPALAPENG3 小时前
Python 语法速成指南:前端开发者视角(JS 类比版)
前端·人工智能·python
JYeontu3 小时前
轮播图不够惊艳?试下这个立体卡片轮播图
前端·javascript·css