webpack和vue的学习笔记

    技术2025-12-24  18

    webpack的学习

    注:在建项目的时候名字不可以出现中文,且尽量不要出现大写


    webpack的安装

    在终端执行 cnpm i webpack --save-dev命令进行本地的安装(生成webpack.json文件),还有全局安装一个webpack,因为要在终端执行

    装包

    -----在装包之前要初始化一下,执行这个命令,cnpm init -y

    装入jquery

    ------执行cnpm i jquery -S

    安装webpack-dev-server

    执行命令cnpm i webpack-dev-server -D进行安装

    在webpack.json中配置命令,找到scripts,在之中增加"dev":"webpack-dev-server".如下

    "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "dev":"webpack-dev-server" },

    webpack-dev-server工具的使用,实现自动编译的功能

    需要下载node.js-----环境的需要

    需要配置两个文件

    在项目根目录下创建webpack.config.js 文件,指定文件的出口和入口,如下: const path = require('path') module.exports = { entry:path.join(__dirname,'./src/main.js'),//指定入口文件 output:{ path:path.join(__dirname,'./dist'), //指定输出的目录 filename:'bundle.js'//指定文件存储的文件名 } } 在package.js中配置指令找到script增加"dev": "webpack-dev-server"如图 "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "dev": "webpack-dev-server" }

    生产package.json文件

    在项目中用 npm init -y 生成package.json 文件

    安装webpack

    执行这个命令 npm install webpack -D本地安装webpack

    安装webpack-dev-server

    执行这个命令 npm install webpack-dev-server -save-dev

    运行webpack-dev-server工具

    在控制台终端输入npm run dev运行工具

    需要注意的是


    在index.html中引用的bundle.js直接在根目录进行引用 <script src="/bundle.js"></script>

    在包出现问题的时候不要直接删除本地的包,选择更新他

    更新全局包:

    npm update <name> -g

    更新生产环境依赖包:

    npm update <name> --save

    更新开发环境依赖包:

    npm update <name> --save-dev

    在配置webpack.config.js自动打包的时候,出现Error: Cannot find module '@babel/core’错误。

    产生错误原因:

    官方默认babel-loader | babel对应的版本需要一致: 即最新babel-loader需要搭配最新版本babel。

    解决方式:

    回退低版本: npm install -D babel-loader@7 babel-core babel-preset-env

    2、均更新到最高版本:npm install -D babel-loader @babel/core @babel/preset-env webpack

    在处理图片的注意事项

    使用url-loader处理,还要下载file-loader才能处理相关的图片, 而且图片的静态文件,默认是直接打包在项目的根目录下多以要处理图片的话要进项路径配置的处理,设置options的配置 { test: /.(jpg|png|gif|bmp|jpeg|webp)$/, use: { loader: 'url-loader?limit=42476&name=[hash:8]-[name].[ext] ', options: { publicPath: "images/" } } },
    Processed: 0.064, SQL: 9