第6篇 vue的打包工具webpack

一 webpack

1.1 webpack的作用

webpack是一个打包工具,可以把多个静态资源文件打包成一个文件。如图所示:

1.2 版本依赖对照关系

PS E:\vue-project\vue-demo0902\wp-demo> npm -v
6.4.1
PS E:\vue-project\vue-demo0902\wp-demo> node -v
v10.14.2
PS E:\vue-project\vue-demo0902\wp-demo> webpack -v
4.43.0

style-loader与css-loader

 二  webpack的打包案例

2.1 安装webpack

npm install -g webpack webpack-cli

查看安装版本

2.2 新建工程初始化

进入webpack目录,执行命令  npm  init  -y

2.3 在工程中新建src目录

2.4 新建脚本文件

在src目录下新建几个文件:

1.新建common.js文件

exports.info = function (str) {
        document.write(str);
    }

2.新建utils.js文件

exports.add = function (a, b) {
        return a + b;
    }

3.新建main.js文件

const common = require('./common');
const utils = require('./utils');
common.info('Hello world!' + utils.add(100, 200));

2.4 在工程目录下新建一个webpack.config.js文件

代码

const path = require("path"); //Node.js内置模块
module.exports = {
    entry: './src/main.js', //配置入口文件
    output: {
        path: path.resolve(__dirname, './dist'), //输出路径,__dirname:当前文件所在路径
        filename: 'bundle.js' //输出文件
    }
}

2.5 执行打包

执行命令: webpack --mode=development #没有警告

打成包后可以看到,生成了dist文件夹

2.6 引用

 新建一个index.html文件,引入bundle.js文件

2.7 执行观察

 

三  案例3:打包css文件

3.1  安装style和css加载器

直接执行命令Loader 可以理解为是模块和资源的转换器。

首先我们需要安装相关Loader插件,css-loader 是将 css 装载到 javascript;style-loader 是让 javascript 认识css。

直接执行命令:

npm install --save-dev style-loader css-loader 

在进行打包时候会报错,需要降低版本安装

安装2.x版本

PS E:\vue-project\vue-demo0902\wp-demo> npm install css-loader@2.0.2 --save-dev
npm WARN style-loader@3.3.1 requires a peer of webpack@^5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN css-loader@2.0.2 requires a peer of webpack@^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN wp-demo@1.0.0 No description
npm WARN wp-demo@1.0.0 No repository field.

+ css-loader@2.0.2
found 0 vulnerabilities

PS E:\vue-project\vue-demo0902\wp-demo> npm install style-loader@0.23.1 --save-dev
npm WARN css-loader@2.0.2 requires a peer of webpack@^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN wp-demo@1.0.0 No description
npm WARN wp-demo@1.0.0 No repository field.

updated 1 package and audited 30 packages in 6.967s

Hash: 96e299bd847414758aae
Time: 494ms
Built at: 2023-09-10 11:42:17
    Asset    Size  Chunks             Chunk Names
bundle.js  24 KiB    main  [emitted]  main
Entrypoint main = bundle.js
[./node_modules/css-loader/dist/cjs.js!./src/style.css] 178 bytes {main} [built]
[./src/common.js] 68 bytes {main} [built]
[./src/main.js] 158 bytes {main} [built]
[./src/style.css] 1.06 KiB {main} [built]
[./src/utils.js] 61 bytes {main} [built]
    + 3 hidden modules

 3.2 修改webpack.config.js

代码:

module: {
                rules: [  
                    {  
                        test: /\.css$/,    //打包规则应用到以css结尾的文件上
                        use: ['style-loader', 'css-loader']
                    }  
                ]  
            }

 3.3 在src文件夹创建style.css

body{

    background-color:red;

}

3.4 在main.js中进行加载

3.5 发布打包

1.删除dist文件目录

2.在命令行执行:webpack --mode=development

页面访问:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您的 Vue 3.0 代码量过大导致 webpack 打包失败,我可以提供一些解决方案: 1. 优化代码:首先,检查您的代码是否存在重复、冗余或不必要的部分。尽量使用模块化的方式组织代码,避免在全局范围内定义过多的变量和函数。使用 webpack 的代码拆分功能,将大型代码库拆分成较小的模块,按需加载。 2. 使用动态导入:Vue 3.0 支持使用动态导入(dynamic import)来按需加载组件和模块。通过这种方式,可以减少初始加载的代码量,提高应用的性能。您可以将一些不常用或初始加载时不必要的组件放在异步加载中,以减小初始打包的体积。 3. 配置优化插件:在 webpack 配置中,您可以使用一些插件来优化打包结果。例如,使用 TerserWebpackPlugin 来进行代码压缩和混淆,使用 HtmlWebpackPlugin 自动生成 HTML 文件,并自动注入打包后的资源。 4. 按需加载第三方库:如果您在项目中使用了一些较大的第三方库(如图表库、富文本编辑器等),可以考虑按需加载它们的模块。这样可以避免将整个库打包到最终的 bundle 文件中,减小打包体积。 5. 考虑使用CDN:对于一些通用的库或框架,您可以考虑使用 CDN(内容分发网络)来引入它们,而不是将其打包项目中。这可以减小打包体积并加快页面加载速度。 6. 升级 webpack 版本:如果您使用的是较旧的 webpack 版本,尝试升级到最新版本。每个 webpack 版本都有不同的优化和改进,可能会有助于解决打包失败的问题。 希望以上建议对您有所帮助!如果问题仍然存在,请提供更多详细信息,我将尽力提供更具体的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值