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。

相关推荐
袋鱼不重31 分钟前
我的神奇同事,AI 用多了居然写了个 Open In Codex
前端·后端·ai编程
Fireworks1 小时前
深入vue3源码解读 -- 1、响应式的基础概念
前端
程序员黑豆1 小时前
JDK 下载安装与配置详细教程
java·前端·ai编程
hunterandroid1 小时前
文件存储:内部存储与外部存储
前端
NorBugs2 小时前
飞机大战 Low 版 (Made in AI)
前端
angerdream2 小时前
Android手把手编写儿童手机远程监控App之agentweb如何实现全屏
前端
星栈2 小时前
10 分钟跑起第一个 Dioxus 应用:`dx` CLI、`rsx!` 和热更新好不好用
前端·rust·前端框架
奋斗吧程序媛2 小时前
补充一个小知识点:有关@click.native
前端·vue.js
触底反弹3 小时前
🚀 手把手用 HTML5 Canvas 从零打造飞机大战游戏,代码全开源!
前端·javascript·canvas
DJ斯特拉3 小时前
axios快速使用
开发语言·前端·javascript