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。

相关推荐
90后的晨仔38 分钟前
uni-app项目 Vue3 状态管理 Pinia 完全指南:从概念到实战的深度解析
前端
90后的晨仔1 小时前
uni-app 在 iOS 平台跳转页面时移除底部安全区域的完整技术指南
前端
用户938515635071 小时前
React + JWT 登录鉴权底层原理与工程化实践
前端·react.js
zww89491111 小时前
家政派单系统开发实战:架构设计与派单算法指南
前端·系统架构
fangzhanpeng1682 小时前
(前端)2.js变量作用域样例
开发语言·前端·javascript
赵广陆2 小时前
企业实战:web服务集成
前端·pycharm·fastapi
demo007x2 小时前
Hermes-Agent 技术架构
前端·后端·agent
码艺-Alimjan4 小时前
Vue项目源码备份最佳实践:无视node_modules,打包体积仅2MB
前端·javascript·vue.js
隔窗听雨眠4 小时前
esbuild构建工具简介:重新定义前端构建速度的极速打包器
前端