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。

相关推荐
妙码生花5 分钟前
从 PHP 到 AI + Golang,程序员自救转型手记(二十六):icon 组件封装
前端·vue.js·typescript
李明卫杭州6 分钟前
Vue2 & Vue3 中 Router `props` 配置详解:彻底摆脱 `$route` 依赖
前端·vue.js·前端框架
掘金一周7 分钟前
裁员了,公司很爽快,赔偿一分没少 | 沸点周刊 7.8
前端·人工智能·后端
熊猫钓鱼>_>10 分钟前
2026 前端的三场底层革命:当 Vue、React Native 和 Three.js 同时去掉中间层
前端·javascript·vue.js·react native·架构·webgl·three.js
名字还没想好☜20 分钟前
React useEffect 依赖数组踩坑:闭包陷阱与清理函数
前端·javascript·react.js·react·useeffect
宸翰1 小时前
uni-app 设置 Android 底部虚拟导航栏背景色
android·前端·uni-app
金色的暴发户2 小时前
一劳永逸解决Codex手机验证
前端·人工智能·开源
DanCheOo2 小时前
AI 应用的可观测性:你的 AI 系统在生产上到底表现怎么样
前端·openai
Hyyy2 小时前
流式渲染用react-markdown还是Vercel/Streamdown
前端
风中的小甜瓜2 小时前
ASP.NET Page 那点事
java·前端·asp.net